Используйте это ниже, может написать data
в файл: У меня есть print
путь пути записи в консоли, проверьте writed файл по finder -> goto finder
, и обратить внимание на, если ваш URL изображения 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()
Try сообщение запрос с многоголосным. – Vinodh
Пожалуйста, добавьте код, который вы пробовали, но это не сработало. –
http://stackoverflow.com/questions/24250475/post-multipart-form-data-with-objective-c/24252378#24252378 –