当前位置: 首页 > 知识库问答 >
问题:

通过解析框架AfNetworking2.0使用RESTAPI上传图像错误

储修谨
2023-03-14

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager.requestSerializer setValue:PARSE_APPLICATION_ID forHTTPHeaderField:@"X-Parse-Application-Id"];
    [manager.requestSerializer setValue:PARSE_REST_API_KEY forHTTPHeaderField:@"X-Parse-REST-API-Key"];
    [manager.requestSerializer setValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"];

    UIImage *image = [UIImage imageNamed:@"resource.bundle/1.jpg"];
    NSData *imageData = UIImageJPEGRepresentation(image, 0.5);

    [manager POST:@"https://api.parse.com/1/files/kingiol.jpg" parameters:nil constructingBodyWithBlock:^(id formData) {
        [formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
    } success:^(NSURLSessionDataTask *task, id responseObject) {
        NSLog(@"success:%@", responseObject);
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
        NSLog(@"Error:%@", error);
    }];


    success:{
    name = "84cff2e0-605c-44de-909f-655379884b67-kingiol.jpg";
    url = "http://files.parse.com/5a56e6bf-a4b5-4155-9bf3-238550da126b/84cff2e0-605c-44de-909f-655379884b67-kingiol.jpg";
    }

请帮忙

共有1个答案

耿志义
2023-03-14

似乎您的文件包含了您所提出的整个请求。尝试用TextEdit之类的文本编辑器打开该文件,我已经完成了,并发现了如下内容:

--Boundary+0xAbCdEfGbOuNdArY
Content-Disposition: form-data; name="avatar"; filename="avatar.jpg"
Content-Type: image/jpeg

<All binary image data>
....
..
..

--Boundary+0xAbCdEfGbOuNdArY--

为什么不使用解析SDK函数呢?看这个:

NSData *imageData = UIImagePNGRepresentation(image);
PFFile *imageFile = [PFFile fileWithName:@"image.png" data:imageData];

PFObject *userPhoto = [PFObject objectWithClassName:@"UserPhoto"];
userPhoto[@"imageName"] = @"My trip to Hawaii!";
userPhoto[@"imageFile"] = imageFile;
[userPhoto saveInBackground];

参见https://parse.com/docs/ios_guide#文件-图像/ios

 类似资料:
  • 问题内容: 我无法通过ajax上传多个文件。这是我的代码。 HTML代码: Ajax代码:- 当我通过Ajax调用upload_business_photo_do()函数时,它无法获取图像$ _FILES [‘file’] [‘name’]的名称 问题答案: 尝试这样使用,它简单又容易 并在控制器中使用像这样 并使用此功能将文件数据转换为多个图像数据的数组 它的工作完美,只需尝试使用它。您无需使用

  • 我正在尝试创建一个endpoint,使用django rest框架将图像(使用postman)上传到特定文件夹。这是我对文件夹的设置, 这是我的模型, 这是串行器, 这是api, 现在,当我尝试使用POSTMAN上传一个对应于其中一个字段的图像时,我得到的错误是这样的。 这是完全可以理解的,但我不知道如何解决它。 这是我的问题, > 如何使用django rest框架正确上传图像。 我不希望同时调

  • 我得到了这个endpoint,但我不知道如何从电话画廊拍照并通过这个endpoint发送此图像?

  • 问题内容: 有什么办法可以使它工作? [错误] selenium.common.exceptions.InvalidArgumentException:消息:未找到文件:https : //ercess.com//images//events//-Blockchain-2019-36613-banner.png 问题答案: 您首先需要将图像下载到计算机上,然后将其上传… 您可以使用: 然后发送:

  • 我使用已签名的URL从使用Air的移动设备上传blob。 我有两个问题: 使用签名 URL 上传 Blob 时,我假设我不需要按照文档中所述包含所有标头。我是否认为我只需要对URL执行请求,并将编码到正文中的文件包含在正文中,设置为? http://msdn . Microsoft . com/en-us/library/windows azure/DD 179451 . aspx (Upload

  • 我正在尝试将图像上传到回形针并将其保存到s3。但是,我在控制台中收到以下错误 StackOverflow上有一些关于如何解决此问题的回复,尽管大多数人指出原始解决方案是对Rack的更新。但是,我使用的是Ruby 1.9.3和Rails 3.1.3,并且相信我没有Rack(我没有将其安装为Gem,是吗??)。 我一直在尝试的文件名相当简单,所以我假设问题出在实际的文件中,但是我不确定如何调试错误来自