Iphone 上传UIImage?

Iphone 上传UIImage?,iphone,objective-c,uiimage,asihttprequest,http-put,Iphone,Objective C,Uiimage,Asihttprequest,Http Put,有人能告诉我如何使用Objective-c中的ASIHTTPRequest对象上传UIImage对象吗?是否需要将其转换为NSData对象 (这是一个头像上传url) 下面是一个使用ASIFormRequest的示例,该示例还将尝试将图像压缩到给定的最大大小 //Compress the image CGFloat compression = 0.9f; CGFloat maxCompression = 0.1f; int maxFileSize = 250*1024; NSData

有人能告诉我如何使用Objective-c中的ASIHTTPRequest对象上传UIImage对象吗?是否需要将其转换为NSData对象

(这是一个头像上传url)


下面是一个使用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"];

回答得很好。我已经为一个我正在用C#Great answer进行的项目将这一条添加了书签。while循环设计真的很有用。有什么理由使用
addData
而不是
setData
    //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"];