bwin2299iOS如何批量传图(1000张左右)到服务器端?

2016/12 18 12:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于www.bwin2299.com的点点滴滴

我想批量上传图片,大概几百到1000张不等,本来使用AFNetwoking的方法,但是有个缺点,会一次性读取所有图片数据,然后内存就蹭蹭蹭上涨了,

NSOperationQueue *operationQueue = [[NSOperationQueue alloc]init];
[operationQueue setMaxConcurrentOperationCount:1];

for (NSURL *fileURL in filesToUpload) {
    NSURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST"  
           URLString:@"http://example.com/upload" parameters:nil 
           constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
                [formData appendPartWithFileURL:fileURL name:@"images[]" error:nil];
           }];

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

     [operationQueue addOperation:operation];
   }

有没有什么办法能够实现一个队列,当要上传到该照片时候,才读取照片数据?

传完一个在成功/失败的block里面调用本方法,并且指针移动一次;
EX:
-(void)fangfa:(int)count{
if (count < 0){
return;
}
[class complateblock:{
[self fangfa:count – 1];
},uploadimgArr[count]];
}

不要把文件存到队列里,只要先存一个文件名,执行的时候再去读取文件的内容,这样子就不会有这个问题了

使用猿题库的 网络层 中的批量上传 将你的图片 进行数组切片 比如 分批 10批 每批 10张 BATCH 数量是10 开始上传 这样内存就不会爆了。。
而且话说 你读取 也不可能一口气 读取1000张图片 你肯定要有读取策略 否则 不等AF 爆 你自己的代码 就会挤爆内存。。所以 读取就要先分批~

(看完/读完)这篇文章有何感想! 来看看www.bwin2299.com是怎么评论的吧!

--转载请注明: bwin2299必赢亚洲_www.bwin2299.com_bwin2299必赢亚洲世界顶级公司 » bwin2299iOS如何批量传图(1000张左右)到服务器端?

发表评论

(必填)