bluetooth99 2013-06-08 09:26 采纳率: 0%
浏览 2224

IOS- ImageShack JSON API上传图片

想要使用上传图片到ImageShack,使用它们的API

代码:

- (void)uploadImage2:(UIImage *)image
{
    NSData *imageToUpload = UIImagePNGRepresentation(image);

    if (imageToUpload)
    {
        NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];
        [parameters setObject:@"XXXX" forKey:@"key"];
        [parameters setObject:@"json" forKey:@"format"];
        //[parameters setObject:@"application/json" forKey:@"Content-Type"];

        AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"https://post.imageshack.us"]];

        NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"/upload_api.php" parameters:parameters constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
            [formData appendPartWithFileData: imageToUpload name:@"image" fileName:@"logo.png" mimeType:@"image/png"];
        }];

        AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

        [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
         {
             NSDictionary *jsons = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:nil];
             NSLog(@"response: %@",jsons);

         }
                                         failure:^(AFHTTPRequestOperation *operation, NSError *error)
         {
             if([operation.response statusCode] == 403)
             {
                 //NSLog(@"Upload Failed");
                 return;
             }
             //NSLog(@"error: %@", [operation error]);

         }];

        [operation start];
    }
}

然后返回给我的信息就是错误和解释:

{
    "error_code" = "upload_failed";
    "error_message" = "Upload failed";
    status = 0;
}

请高手帮忙解决一下,谢谢。

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-26 22:40
    关注

    这看起来像是你正在尝试使用ImageShack的API来上传图片,但是上传失败了。

    有几个可能的原因:

    • 你可能没有正确地设置你的API密钥。在代码中,你正在使用一个占位符"XXXX"来代替真正的密钥。你应该确保使用你在ImageShack上获得的真正的API密钥。
    • 你的图片可能不是一个有效的图片文件,或者可能已损坏。你可以尝试使用一个不同的图片来测试是否可以成功上传。
    • 你可能没有正确地设置你的网络请求。你可以尝试使用控制台调试你的代码,查看网络请求是否正常发送并返回了预期的响应。
    评论

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题