ASIHttpRequest-移动到实时PHP服务器后未创建临时文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASIHttpRequest-移动到实时PHP服务器后未创建临时文件相关的知识,希望对你有一定的参考价值。

我正面临这个奇怪的问题。点击按钮时,我正在从php服务器下载媒体文件,例如图像,视频和音频。对于下载部分,我使用ASIHTTPRequest

我使用此代码恢复下载:

NSString *audio_url_f = [myDetailPeom poem_audio_url];

NSURL *url = [NSURL URLWithString:audio_url_f];

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];

[request setShouldContinueWhenAppEntersBackground:YES];
[request setNumberOfTimesToRetryOnTimeout:3];
[request setDelegate:self];
        //
NSString *path = [NSString stringWithFormat:@"%@/Documents/%@",NSHomeDirectory(),fileName];
path = [path stringByAppendingString:@".download"];   

// This file has part of the download in it already
[request setTemporaryFileDownloadPath:path];
[request setAllowResumeForFileDownloads:YES];
[request setDownloadDestinationPath:filePath];

//
[request setUserInfo:[NSDictionary dictionaryWithObject:@"audio" forKey:@"type"]];
[request setDidFinishSelector:@selector(requestFinished:)];
[request setDidFailSelector:@selector(requestFailed:)];
[request startAsynchronous];

如果网络失败,下载将停止并正确恢复。部分下载的文件会在正确的位置创建,并在文件名中附加.download。网络可用后,它将继续正确下载。

现在,我将Web应用程序移动到了实时PHP服务器(两者都在同一服务器上)。但是根本不创建部分文件。

答案

除非您在URL中输入错误,否则极不可能。在大多数情况下,一个常见的错误是移至活动服务器时,如果应使用ASI正确处理其HTTPS,则应将其移至活动服务器。如果是这样,请尝试将setValidatesSecureCertificate设置为NO。

AS ASIHttpRequest已过时,您应根据需要考虑转移到AFNetworking或RestKit或其他框架。

另一答案

尝试使用此代码获取文档目录吗?

NSString *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

NSString *path= [documentDirectory stringByAppendingPathComponent:@"test.download"];

总是最好使用Cache目录代替文档目录。

另一答案

这种情况在您的情况下会发生吗?

ASIHTTPRequest setTemporaryFileDownloadPath: not working with some URL's

检查它是否重定向。

以上是关于ASIHttpRequest-移动到实时PHP服务器后未创建临时文件的主要内容,如果未能解决你的问题,请参考以下文章

ASIHTTPRequest 将 json 发送到 php 服务器

IOS-网络(ASIHTTPRequest的使用简介)

核心数据还是 ASIHTTPRequest 缓存?

ASIHTTPRequest setPostValue iPhone

如何在ios中使用ASIHTTPRequest向服务器发送和检索用户名和密码以及图像

使用 ASIHTTPRequest 从 iPhone 上传到 Ruby on Rails