0

我需要将图像从 iOS 设备上传到网络服务。在上传我使用的图片时;

    NSData* pictureData = UIImagePNGRepresentation(originalImage);

实际上它工作正常。但是我上传的图片没有显示在 IE 中。我尝试同时上传 JPG 和 PNG,我可以在所有其他浏览器中看到图像,但它在 IE 中不起作用。所以我认为可以将其转换为 NSData。

有没有其他方法可以将 UIImage 转换为 NSData?

或者任何其他可能导致问题的想法?

这是我上传图片的方式;

NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField: @"Content-Type"];

NSMutableData *body = [NSMutableData data];

NSData* pictureData = UIImagePNGRepresentation(originalImage);

if (pictureData) {
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"image.JPG\"\r\n", FileParamConstant] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:pictureData];
    [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
}

[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
4

1 回答 1

1

您正在将图像转换为 PNG 表示形式,然后将其重命名为 image.JPG

IE 可能会对此感到困惑。尝试将图像重命名为 image.PNG 或使用 UIImageJPEGRepresentation

于 2013-08-29T08:34:47.807 回答