我需要将图像从 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]];