iphone - ASIHTTP : Upload UIImage?

标签 iphone objective-c uiimage asihttprequest http-put

谁能告诉我如何在 Objective-c 中使用 ASIHTTPRequest 对象来上传 UIImage 对象?我需要将它转换为 NSData 对象吗?

(这是头像上传地址)

E.g. 

UIImage *toUpload = [UIImage imageNamed:@"test.jpg"]

URL: "http://www.example.com/api/users/avatar/upload?access_token=12345"
RequestType: PUT

最佳答案

这是一个使用 ASIFormRequest 的例子,它也会尝试将图像压缩到给定的最大尺寸

    //Compress the image
CGFloat compression = 0.9f;
CGFloat maxCompression = 0.1f;
int maxFileSize = 250*1024;

NSData *imageData = UIImageJPEGRepresentation(yourImage, compression);

while ([imageData length] > maxFileSize && compression > maxCompression)
{
    compression -= 0.1;
    imageData = UIImageJPEGRepresentation(yourImage, compression);
}

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:whereYourServerEndPointIs.com]];

[request addData:imageData withFileName:@"someFileName.jpeg" andContentType:@"image/jpeg" forKey:@"uploadedImage"];

关于iphone - ASIHTTP : Upload UIImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4770949/

相关文章:

iphone - 在硬件测试中未找到Xib

iOS stringByPaddingToLength 因心脏字符而失败

ios - 添加 View 。 Storyboard VS。以编程方式

ios - CAKeyframeAnimation - 对图像数组进行动画处理会在完成后创建巨大的分配

ios - 上传图片到 Firebase

ios - UICollectionView 将图像添加到单元格

ios - 循环遍历 NSArray 中的数据并从 url 中提取 UIImage

iphone - 更改NSString的部分

objective-c - Objective C 和 Swift——它们是否同时处理客户端和服务器端?

ios - 动画不触发