我需要将图片从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]];
答案 0 :(得分:1)
您正在将图像转换为PNG表示,然后将其重命名为image.JPG
IE可能会对此感到困惑。 尝试将图像重命名为image.PNG或使用UIImageJPEGRepresentation