2
我有一個問題,將文件Blob從Web服務轉換爲NSData對象。文件Blob可以是任何類型的文件。我可以從通過RestKit一個Web服務器請求一個文件,並得到如下回應:如何將文件Blob轉換爲NSData?
[{
"FileBlob": [
65,
108,
108,
111,
99,
46,
32,
83,
/* more integer values omitted */
],
"FileID": 1234567890,
"FileName": "name.txt"
}]
我將經由JSONKit NSDictionary *dict = [[response bodyAsString] objectFromJSONString];
工作正常響應到字典。但我不知道如何將FileBlob轉換爲NSData對象,以便我可以將它作爲文件寫入HDD。在像上面的例子中,我可以走線槽的數組轉換一個txt,文件的情況下,所有整數值字符
NSMutableString *fileString = [NSMutableString string];
for (NSNumber *value in [[dict valueForKey:@"FileBlob"] objectAtIndex:0]) {
[fileString appendFormat:@"%c", (char)value.integerValue];
}
,然後一切都保存到磁盤
NSData *data = [fileString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *file = [[paths objectAtIndex:0] stringByAppendingPathComponent:filename];
[[NSFileManager defaultManager] createFileAtPath:file contents:data attributes:nil];
但是,如果該文件是其他的東西像PDF這不起作用。有什麼我可以做的,將文件Blob轉換爲NSData對象或其他任何東西將blob作爲文件寫入光盤?
哇非常感謝你的幫助。你的建議完美。 – lahmar 2012-03-04 15:48:43