我正在尝试将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上传而不会出现问题。愚蠢的错误,但至少它现在正在运作。谢谢你的回复!!
答案 0 :(得分:1)
403错误意味着错误来自Twitter;您不能在同一个Twitter帐户中共享两次相同的内容。如果要上传相同的图片,则必须先将其从Twitter帐户中删除,然后再尝试上传。否则,上传不同的图片。