【问题标题】:Upload File while application in background : ASIHTTPRequest with Phonegap在后台应用程序上传文件:ASIHTTPRequest with Phonegap
【发布时间】:2011-10-11 13:27:02
【问题描述】:

我正在使用 ASIFormDataRequest 在服务器上上传文件。
我正在使用 ASIHTTPRequest 来实现后台上传的功能。

它工作正常。但是当应用程序进入后台时,它无法上传文件。

我尝试对我的代码进行大量测试,甚至有时它也适用于背景。
当我上传文件和应用程序进入后台,然后应用程序再次处于活动状态时,它上传成功。
我注意到(但不确定)如果应用程序在后台运行的时间超过请求超时时间,则它无法上传。 (我不确定)

NSString *filePath = [arguments objectAtIndex:0];
NSString *fileName = [arguments objectAtIndex:1];

NSURL *url = [NSURL URLWithString:@"http://192.168.1.107/~amitb/test/upload.php"];
NSData *imageData = [[[NSData alloc] initWithContentsOfFile:filePath] autorelease];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
request.delegate = self;
[request setData:imageData withFileName:fileName andContentType:nil forKey:@"file"];
[request startAsynchronous];

谁能帮我在后台应用时上传文件

阿米特巴坦

【问题讨论】:

    标签: iphone cordova asihttprequest asiformdatarequest


    【解决方案1】:

    http://allseeing-i.com/ASIHTTPRequest/How-to-use#background_downloads_ios 声明您可以使用:

    [request setShouldContinueWhenAppEntersBackground:YES];
    

    【讨论】:

    • 我的代码中只有这一行..我的代码是分块上传文件还是上传完整文件
    • 它在一个 HTTP 事务中上传完整的文件。
    • 你能建议我这样好还是我应该分块上传
    • 大多数情况下都可以 - 例如。 facebook / twitter 以同样的方式上传照片。不过,我无法真正发表评论,因为我不知道您的要求是什么;如果您在缓慢或间歇性的网络连接上上传非常大的文件,分块可能会对您有所帮助,但它需要更多的工作/代码,所以除非您有充分的理由(要求)这样做,否则我不会这样做。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2014-01-18
    相关资源
    最近更新 更多