通过IOS7新增 的 NSURLSession类进行上传文件的功能,由于需要在系统Fetch时上传文件,所以需要在后台运行。
在调用NSURLSessionUploadTask 时有两个方法
1、uploadTaskWithRequest:request fromFile:test]
2、uploadTaskWithRequest:request fromData:test]
调用fromData的方法时,系统编译时提示必须fromFile,用fromFile的方法,提交文件,服务器端无法获得数据。 具体代码如下:
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration backgroundSessionConfiguration:@”com.example1.apple-samplecode.SimpleBackgroundTransfer.BackgroundSession”] delegate:self delegateQueue:nil];
在调用NSURLSessionUploadTask 时有两个方法
1、uploadTaskWithRequest:request fromFile:test]
2、uploadTaskWithRequest:request fromData:test]
调用fromData的方法时,系统编译时提示必须fromFile,用fromFile的方法,提交文件,服务器端无法获得数据。 具体代码如下:
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration backgroundSessionConfiguration:@”com.example1.apple-samplecode.SimpleBackgroundTransfer.BackgroundSession”] delegate:self delegateQueue:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@”http://www.test.com/Home/Upload”]];
request.HTTPMethod = @”POST”;
NSString *tempPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@”Images”];
NSURLSessionUploadTask *task = [session uploadTaskWithRequest:request fromFile:[NSURL fileURLWithPath:[tempPath stringByAppendingPathComponent:@”IMG_0001.JPG”]]];
[task resume];
在服务器端asp.net 用Request.Files,无法获得数据。
解决方案