2017-08-25 16 views
0

AFNetworking Imageのアップロードで本当に奇妙な問題があります。ファイルが正常にアップロードされ、自分のサーバーにアップロードされていることがわかります。ファイルをダウンロードしてMacで開くと、画像は正常に表示されます。AFNetworkingでアップロードした後に画像がブラウザに表示されない

ただし、同じ画像はブラウザに表示されません。それは何らかの形でファイルが壊れていて、ブラウザでしか動かないということです。

ここには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]; 

答えて

0

あなたのリンクのためのレスポンスヘッダContent-Type: application/octet-streamが含まれている - これは代わりにContent-Type: image/pngでなければなりません。

+0

お返事ありがとうございます。私はそれが問題だとは思わない...この画像:https://ashore-testing.s3.amazonaws.com/uploaded/deliverable97/version1/Artboard.pngにはオクテットストリームのコンテンツタイプもあるが、ブラウザーを起動します。しかし、私がカールしようとすると奇妙です - 元の途切れることのないイメージの内容の長さは7838ですが、壊れたものは4629です。 –

+0

Obj-CのAFNetworkingコードに問題があるようです。私はPHP(multipart/formdata)を使用してアップロードしようとしましたが、イメージはそのように壊れません –

関連する問題