首页 > 其他 > 详细

Error Domain=ASIHTTPRequestErrorDomain Code=8 "Failed to move file from"xxx/xxx"to"xxx/xxx"

时间:2014-08-21 22:26:44      阅读:506      评论:0      收藏:0      [点我收藏+]

今天真的好高兴呀 我解决了一个折磨了我一周的问题,真的是激动地要哭出来了,为了这个问题,我嘴也烂了,头发抓了一地啊。虽然解决方法,最后还是展现出了“百度”的伟大,但是我还是很开心,在这里我展示一下我的战果

问题的表面就是在2G下下载zip包失败,不是每次都失败,而是只要我离开当前页面再次进入当前页面就会失败(进入requestFail),如果只是离开不进入,那么一起正常。

多么诡异呀,起初我也想通过看看进入页面后是不是进行了什么卑鄙的操作,而导致ASI罢工,可是最后我放弃了,因为任何有关ASI的操作都没有呀,由于原来不是我写的,看了几天没有收获的情况,我找到了新的出路。

其实就是我自己的那字不转个儿了,既然找茬找不出来,就从实际出发解决吧,打印了 requestFail 的error ,有东西出来了 “Error Domain=ASIHTTPRequestErrorDomain Code=8 "Failed to move file from"xxx/xxx"to"xxx/xxx"”说是什么文件移动出了问题,于是百度,谷歌齐下手,发现遇到这个问题的人不多,不过还好有个人自问自答,给出了一个模糊的治标不治本的方法,就是它救了我的命。在这里给出链接可以参考“http://www.cocoachina.com/ask/questions/show/107449/asihttprequestdownloadfileerror”

可是这哥们说的也太模糊了,我首先按照他的方法试了取消了那两个路径的设置,结果真的进入到了requestFinish,这样下载就是成功了,可是怎么获得下载的内容呀?不要和我说什么[request responseData],最开始尝试的就是 结果是null,其实我自己也想到了,他自己的回答看起来像是有个函数可以用,于是我翻看了ASI的函数,还真给我找到了

- (void)setDataReceivedBlock:(ASIDataBlock)aReceivedBlock;

其实看到这个函数的时候我急激动了,感到有救了

在函数里面把收到的data进行拼接,然后在finish里面写入文件夹 ,大功告成。(_receivedDataDic 用来保存拼好的data)

[request setDataReceivedBlock:^(NSData *data)
    {
        NSMutableData *oldData = nil;
        if ([_receivedDataDic objectForKey:key]) {
            
            oldData = [_receivedDataDic objectForKey:key];
            
            [oldData appendData:data];
        }else
        {
            oldData = [NSMutableData dataWithData:data];
        }
    
         [_receivedDataDic setObject:oldData forKey:key];
        
    }];

下面的data写入文件夹我这里就不多描述了

-(void) requestFinished:(ASIHTTPRequest *)request

 

Error Domain=ASIHTTPRequestErrorDomain Code=8 "Failed to move file from"xxx/xxx"to"xxx/xxx",布布扣,bubuko.com

Error Domain=ASIHTTPRequestErrorDomain Code=8 "Failed to move file from"xxx/xxx"to"xxx/xxx"

原文:http://www.cnblogs.com/waiwaibuzhidao/p/3927994.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!