0
嘿,我有下面的代码在Mac应用程序:ASIHttpRequest上传图片
NSURL *url;
url = [NSURL URLWithString:@"http://yfrog.com/api/xauth_upload"];
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
[request setDelegate:self];
[request setUseCookiePersistence:NO];
[request setUploadProgressDelegate:self];
[request showAccurateProgress];
[request signRequestWithClientIdentifier:@"w" secret:@"x" tokenIdentifier:@"y" secret:@"z" usingMethod:ASIOAuthHMAC_SHA1SignatureMethod];
[request setPostValue:@"a" forKey:@"key"];
NSData *imageData = [[NSData alloc]initWithContentsOfFile:[draggedFilenames objectAtIndex:0]];
[request setPostValue:imageData forKey:@"media"];
[request startAsynchronous];
但问题是,我总是得到yfrog服务器这样的响应:
因此,一些图片上传错误。在iPhone上它的工作原理是这样的:
[request setData:UIImageJPEGRepresentation(picture, 0.8) withFileName:@"filename.jpg" andContentType:@"image/jpeg" forKey:@"media"];
但这不起作用可可(MAC),因为有像UIIMageJPEGRepresentation没有方法。 此外认证工作,这不能成为问题。如果你问你这个方法signRequestWithClientIdentifier它来自这里的asihttprequest + oauth包装: https://github.com/keybuk/asi-http-request-oauth
那么我怎样才能正确地上传图像?
非常感谢。
感谢这对我有用;) – dehlen 2012-07-07 16:14:07