我需要做以下事情:
我试过但我无法获得应该写入文本文件的multipart字符串。
我是初学者,如果有人可以建议我获取多部分图像字符串的方法,我将非常感谢。
提前致谢!
答案 0 :(得分:0)
使用下面这个可以写data
到文件:我在控制台中有print
写路径的路径,按finder -> goto finder
检查写入的文件,并注意你的图像网址为HTTP
前缀,如果是,请在App Transport Security Settings
中设置Info.plist
。
在objective-c
:
NSURLSession *session = [NSURLSession sharedSession];
NSURL *url = [NSURL URLWithString:@"https://sf-sponsor.b0.upaiyun.com/45751d8fcd71e4a16c218e0daa265704.png"]; // if http:please set `App Transport Security Settings` in your Info.plist
NSURLSessionTask *task = [session dataTaskWithURL:url
completionHandler:^(NSData *data, NSURLResponse *response, NSError* error) {
NSLog(@"%@", [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true);
NSString *documentsDirectory = paths[0];
NSLog(@"%@", documentsDirectory);
NSFileManager * fm = [NSFileManager defaultManager];
BOOL ifsucess = [fm createFileAtPath:[NSString stringWithFormat:@"%@/file.data", documentsDirectory] contents:data attributes:nil];
if (ifsucess) {
// success
}else {
// fail
}
}];
[task resume];
在swift
:
/* swift */
let path:String = "https://sf-sponsor.b0.upaiyun.com/45751d8fcd71e4a16c218e0daa265704.png" // if http:please set `App Transport Security Settings` in your Info.plist
let url:NSURL = NSURL.init(string: path)!
let request = URLRequest.init(url: url as URL)
let task = URLSession.shared.dataTask(with: request as URLRequest){ data, response, error in
let paths:NSArray = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) as NSArray
let documentsDirectory = paths.object(at: 0)
print(documentsDirectory)
//let appFile = "\(documentsDirectory)/MyFile.text" //
if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
let path = dir.appendingPathComponent("file.data")
do {
try data?.write(to: path, options: NSData.WritingOptions.atomic)
}
catch {/* error handling here */}
}
}
task.resume()