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

问题描述 投票:0回答:3

我正面临这个奇怪的问题。点击按钮时,我正在从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服务器(两者都在同一服务器上)。但是根本不创建部分文件。

iphone ios ios4 asihttprequest
3个回答
0
投票

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

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


0
投票

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

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

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

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


0
投票

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

ASIHTTPRequest setTemporaryFileDownloadPath: not working with some URL's

检查它是否重定向。

© www.soinside.com 2019 - 2024. All rights reserved.