2015-04-07 79 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类型。