个字节的数据,我这样做是为了在一个阵列将图像发送到服务器:AFNetworking 3个AFMultipartFormData获取响应
NSString *string = [NSString stringWithFormat:@"%@/API/Upload",BaseURLString];
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithBaseURL:[NSURL URLWithString:BaseURLString]];
[manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
[manager setResponseSerializer:[AFHTTPResponseSerializer serializer]];
for(NSData *eachImage in self.fetchedAtt) {
[manager POST:string
parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFormData:eachImage
name:@"image1"];
}
progress:nil
success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (responseObject != nil)
{
//NSDictionary *jsonDictionary = responseObject;
NSLog(@"%@",responseObject);
}
}
failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@",error.localizedDescription);
}];
}
现在我只发送一个图像来进行测试。它得到responseObject
这是字节数据。
<696d6167 65313a20 efbfbdef bfbdefbf bdefbfbd 00104a46 49460001 01000048 00480000 efbfbdef bfbd0058 45786966 00004d4d 002a0000 00080002 01120003 00000001 00010000 efbfbd69 00040000 00010000 00260000 00000003 efbfbd01 00030000 00010001 0000efbf bd020004 00000001 0000001e efbfbd03...
根据网络家伙的反应应该是图像的网址。网络后端在ASP.NET
我做错了什么?
UPDATE
如果我改变响应串行我得到:
Request failed: unacceptable content-type: application/octet-stream
我甚至试过这样:
NSString *string = [NSString stringWithFormat:@"%@/API/Upload",BaseURLString];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
[manager setResponseSerializer:[AFHTTPResponseSerializer serializer]];
NSError *error;
for(NSData *eachImage in self.fetchedAtt) {
NSURLRequest *request = [manager.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:string parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
//NSString *value = @"qux";
//NSData *data = [value dataUsingEncoding:NSUTF8StringEncoding];
// [FORMDATA appendPartWithFormData:eachImage名:@“此搜索“]; [formData appendPartWithFileData:eachImage name:@“image1”fileName:@“test.jpg”mimeType:@“image/jpeg”]; }错误:&错误];
NSURLSessionDataTask *task = [manager dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (error) {
NSLog(@"%@", error.localizedDescription);
return;
}
NSLog(@"%@", responseObject);
}];
[task resume];
}
但是得到了Request failed: internal server error (500)
。如果我取消appendPartWithFormData
的注释并注释其他行,则在responseObject
中获得相同的字节。
更多更新:
我们在邮递员上进行了测试,图片上传成功。但是,如果我给一些参数,我得到
Request failed: unsupported media type (415)
非常感谢罗布:)我试过你的修复,更新了我的问题,并得到'请求失败:内部服务器错误(500)'这似乎是从后端问题。我将在明天后更新它,因为后端人员一天不在。 –
我在想不常见的'image1'字段名称是不正确的(这可能会导致这些问题)。这可能是很多事情。我们不能说没有看到服务器代码或从后端家伙更清晰的定义... – Rob
嘿抢...感谢问题解决。这是后端问题。 –