2015-04-07 76 views
0

我使用AFNetworking將圖像上傳到服務器。http響應表示圖像上傳成功。但該文件無法在服務器上找到。似乎服務器無法保存我上傳的圖像。該圖像來自UIImagePicker。這裏是我的代碼AFNetworking上傳圖像,響應成功,但服務器上找不到文件

+ (void)httpUploadJPGImageWithParam:(NSDictionary *)param path:(NSString *)path image:(UIImage*)image success:(SucceedBlock)successBlock failed:(Fail)failedBlock 
{ 


    NSData *imageData = UIImageJPEGRepresentation(image, 0.5); 

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    [manager POST:path parameters:param constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
     [formData appendPartWithFormData:imageData name:@"image"]; 
     //[formData appendPartWithFileData:imageData name:@"image" fileName:@"photo.jpg" mimeType:@"image/jpeg"]; 
    } success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     successBlock(responseObject); 
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     if (failedBlock) { 
      failedBlock([error localizedDescription]); 
     } 

    }]; 


} 
+0

服務器端會發生什麼? –

+0

它當然是服務器問題。可能是您的服務器未授予將文件存儲在要存儲文件的文件夾中的權限。 –

回答

0

很難說沒有看到服務器代碼,但通常你會使用多請求時上傳文件中使用

- (void)appendPartWithFileData:(NSData *)data 
          name:(NSString *)name 
         fileName:(NSString *)fileName 
         mimeType:(NSString *)mimeType; 

通常(例如通過$_FILES在解析PHP),它也期望一個文件名和MIME類型。