ASIHTTPRequestErrorDomain代码= 8.无法将文件从临时目录移动到docs

Tim*_*aev 3 filesystems objective-c asihttprequest ios4 ios

我用ASIHTTPReqeust下载文件.一切都下载得很好,但它无法将文件从临时目录移动到文档.当我实施

-(void) request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data
Run Code Online (Sandbox Code Playgroud)

请求失败并显示错误.但文件已下载.

如果我删除此实现,一切都很好,文件正在转移到文档.这是错误文本:

Error Domain=ASIHTTPRequestErrorDomain Code=8 "Failed to move file from '/var/folders/Qu/Qu0o0VcpEY4npJr2C1yPzE+++TI/-Tmp-/Skrillex feat. Nero - Wobbleland.mp3' to '/Users/Timur/Library/Application Support/iPhone Simulator/4.3/Applications/34389282-4013-4354-95D9-DF2847B4EE55/Documents/Audio/Skrillex feat. Nero - Wobbleland.mp3'" UserInfo=0x5949520 {NSUnderlyingError=0x59992a0 "The operation couldn’t be completed. (Cocoa error 4.)", NSLocalizedDescription=Failed to move file from '/var/folders/Qu/Qu0o0VcpEY4npJr2C1yPzE+++TI/-Tmp-/Skrillex feat. Nero - Wobbleland.mp3' to '/Users/Timur/Library/Application Support/iPhone Simulator/4.3/Applications/34389282-4013-4354-95D9-DF2847B4EE55/Documents/Audio/Skrillex feat. Nero - Wobbleland.mp3'}
Run Code Online (Sandbox Code Playgroud)

谁有类似的问题?

Jos*_*phH 9

通常会引起人们注意的是你必须创建自己下载的目录(ASIHTTPRequest不会自动创建它).

但是,如果你说它与实现didReceiveData有关,那就不是那样了.

如果您查看ASIHTTPRequest.m,如果在委托中实现'didReceiveData',您将看到它设置'dataWillBeHandledExternally' - 这将阻止数据写入磁盘.您可以自己编写数据,也可以更改ASIHTTPRequest.m代码以添加标志以强制它在内部处理数据.