将JPG图像上传到Twitter

时间:2012-03-07 03:52:25

标签: xcode image twitter upload jpeg

我正在尝试将jpg图像上传到twitter。我可以根据需要多次上传@“icon.png”,但似乎无法上传jpg。我总是从twitter上得到错误403。这是我的代码:

ACAccount *twitterAccount = [arrayOfAccounts objectAtIndex:0];


UIImage *image =[UIImage imageNamed:file]; //file is the name of a jpg image. If replaced with @"icon.png" the upload works


TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"https://upload.twitter.com/1/statuses/update_with_media.json"] 
                                             parameters:[NSDictionary dictionaryWithObject:@"Hello. This is a tweet." forKey:@"status"] requestMethod:TWRequestMethodPOST];

[postRequest addMultiPartData:UIImagePNGRepresentation(image) withName:@"media" type:@"multipart/png"]; //I've tried this with UIImageJPEGRepresentation(image, 80) and multipart/jpg and jpeg to no avail


// Set the account used to post the tweet.
[postRequest setAccount:twitterAccount];

[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) 
 {
     NSLog(@"Twitter response, HTTP response: %i", [urlResponse statusCode]);
 }];

请帮忙!

如果我使用下面的作品

UIImage *image =[UIImage imageNamed:@"background.png"]; //This file is copied to the device when the app is built.

但是,如果我使用这个是行不通的,即使我已经确认这个路径和文件名确实完好无法拉出图像

UIImage *image =[UIImage imageNamed:[NSString stringWithFormat:@"%@/%@", dir, file]];

我做错了什么?感谢

///解决方案 我可能是个白痴,请不要把我钉在十字架上,但这就是我需要把UIImage换成

UIImage *image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@", dir, file]];

这允许PNG和JPG上传而不会出现问题。愚蠢的错误,但至少它现在正在运作。谢谢你的回复!!

1 个答案:

答案 0 :(得分:1)

403错误意味着错误来自Twitter;您不能在同一个Twitter帐户中共享两次相同的内容。如果要上传相同的图片,则必须先将其从Twitter帐户中删除,然后再尝试上传。否则,上传不同的图片。