【发布时间】:2017-08-25 07:07:43
【问题描述】:
我在上传 AFNetworking 图片时遇到了一个非常奇怪的问题。该文件正确上传,我可以看到它已上传到我的服务器上。当我下载文件并在 mac 上打开它时,图像显示正常。
但是,相同的图像不会显示在浏览器上。不知何故,该文件已损坏,无法仅在浏览器上运行。
这是图片的link。如果您尝试在任何浏览器中打开,它将显示空白屏幕。
任何想法为什么会发生这种情况?我今天花了几个小时来弄清楚但无济于事。我试过上传PDF,效果很好。
这是我的代码:
NSDictionary *params = @{@"deliverable_ID" : deliverableID,
@"name" : @"Artboard.png",
@"type" : @"png",
@"description" : @"Some random png file"};
NSString *path = [[NSBundle mainBundle] pathForResource:@"Artboard" ofType:@"png"];
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileURL:[NSURL fileURLWithPath:path] name:@"file" fileName:@"Artboard.png" mimeType:@"image/png" error:nil];
} error:nil];
[request setValue:apiToken forHTTPHeaderField:@"Authorization"];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSURLSessionUploadTask *uploadTask = [manager
uploadTaskWithStreamedRequest:request
progress:nil
completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (error) {
NSString * result = [NSString stringWithFormat:@"Error: %@", error];
[delegate printResult:result];
} else {
NSString * result = [NSString stringWithFormat:@"%@", responseObject];
[delegate printResult:result];
}
}];
[uploadTask resume];
【问题讨论】:
标签: objective-c amazon-s3 afnetworking afnetworking-3