Closed 295060456 closed 3 years ago
我们单位要求这样: 1、put方式上传大文件(图片或者视频) 2、不用表单传(之前都是基于表单一下子把我搞蒙了) 3、mimeType:@"image/jpeg"
我本来用你的框架 发现还没有吃透 不想用AF,一个工程乱糟糟的。 但是我现在不得不用AF来实现,然后移植到你的第三方
AF我是这么写的:
(void)PUT:(NSString )URLString parameters:(NSDictionary )parameters progress:(MKDataBlock)progress success:(MKDataBlock)success failure:(MKDataBlock)failure {
NSURLSessionConfiguration configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; AFURLSessionManager manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSMutableURLRequest request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"PUT"
URLString:URLString
parameters:nil
constructingBodyWithBlock:^(id
NSInputStream *inputStream = [NSInputStream inputStreamWithFileAtPath:path];
inputStream.delegate = self;
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[formData appendPartWithInputStream:inputStream
name:@"file"
fileName:@"下载"
length:UIImagePNGRepresentation(KIMG(@"0")).length
mimeType:@"image/jpeg"];
} error:nil];
__block NSURLSessionDataTask task; task = [manager uploadTaskWithStreamedRequest:request progress:^(NSProgress _Nonnull uploadProgress) { NSLog(@""); } completionHandler:^(NSURLResponse _Nonnull response, id _Nullable responseObject, NSError _Nullable error) { NSLog(@""); }]; [task resume]; } 还差最后一步,我文件上传到服务器,但是后台需要我非表单传输。我看了下很多文章都没有叙述 如果用你这个能否达到目的?
目前用你的上传demo 我这边上传报错 Status Code: 400 连临门一脚都没到。所以我感觉走不下去了。
我这段代码用AF传文件,传完了以后可以用一个url进行访问,正常的是在浏览器直接显示图片,而我的是直接下载,应该是contentType有问题,我们让传流,也不需要json序列化。有点犯愁没招了
@295060456 上传参数的格式调整下 试试 request.requestSerializer=ZBHTTPResponseSerializer
还是不行
这里提 或 简书私信都可以