Datei von Dokumenten in NSData
ich will schnappen Sie sich eine Datei aus dem Documents-Verzeichnis in ein NSData
Objekt, aber wenn ich tun, damit meine NSData
ist immer NIL
:
filepath = [[NSString alloc] init];
filepath = [self.GetDocumentDirectory stringByAppendingPathComponent:fileNameUpload];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:filepath];
-(NSString *)GetDocumentDirectory{
fileMgr = [NSFileManager defaultManager];
homeDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
return homeDir;
}
an dieser Stelle, ich bekomme immer eine exception, dass meine Daten NIL
:
[request addRequestHeader:@"Md5Hash" value:[data MD5]];
habe ich überprüft, es gibt keine Datei, aber ich weiß nicht warum! Erstellt habe ich die Datei vorher mit:
NSMutableString *xml = [[NSMutableString alloc] initWithString:[xmlWriter toString]];
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
//make a file name to write the data to using the documents directory:
NSMutableString *fileName = [NSMutableString stringWithFormat:@"%@/7-speed-",
documentsDirectory];
[xml writeToFile:fileName
atomically:NO
encoding:NSStringEncodingConversionAllowLossy
error:nil];
Gelöst von:
[xml writeToFile:fileName
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
haben Sie untersucht, welche
Warum Downvote?!?
keine Ahnung, ich mag es nicht, wenn Menschen downvote ohne zu erklären, entweder. froh, dass Sie herausfinden können, Ihr problem
filepath
ist, bevor Sie anrufen -contentsAtPath:
? ist es der richtige Weg?Warum Downvote?!?
keine Ahnung, ich mag es nicht, wenn Menschen downvote ohne zu erklären, entweder. froh, dass Sie herausfinden können, Ihr problem
InformationsquelleAutor davidOhara | 2012-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
check file exists:
InformationsquelleAutor Paresh Navadiya
Swift 3-Version
fileURL.absoluteString
eher alsfileURL.path
.was ist der Unterschied, wenn ich die Daten so
let data = Data(contentsOf: path)
Es sieht aus wie das gleiche zu tun
InformationsquelleAutor Anand