iOS:如何增加 NSURLSession 上传任务的 block 大小?

标签 ios objective-c file-upload nsurlsession

我正在做一个需要将大文件上传到服务器的项目。我使用 NSURLSession 来设置后台传输服务。一切似乎都工作得很好,但我相信它会继续发送 32K 的数据 block 。我想知道是否有办法增加 block 大小?

以下是设置上传任务的示例代码:

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration backgroundSessionConfiguration:identifier];
sessionConfig.HTTPMaximumConnectionsPerHost = 1;
NSURLSession *upLoadSession = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
NSMutableURLRequest *request = [self configureURLRequest];
NSURLSessionUploadTask *uploadTask = [upLoadSession uploadTaskWithRequest:request fromFile:[NSURL fileURLWithPath:filePath]];

[uploadTask resume];

这是委托(delegate)示例代码:

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didSendBodyData:(int64_t)bytesSent totalBytesSent:(int64_t)totalBytesSent totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend {

DLog(@"didSendBodyData: %lld, totalBytesSent: %lld, totalBytesExpectedToSend: %lld", bytesSent, totalBytesSent, totalBytesExpectedToSend);    

}

同样,有没有办法增加使用 NSURLSession 上传的 block 大小?默认为 32K。

最佳答案

在使用 NSURLSession API 时没有办法控制 block 大小。作为旁注,您可能不想这样做。当设备执行诸如从 WiFi 更改为蜂窝电话或更换手机信号塔等操作时,您的带宽将会发生变化。我希望操作系统不断适应这些复杂的变化变量,通过限制您的应用程序带宽使用react。你实际上想要这个,因为在一个脆弱的蜂窝网络上发出贪婪的请求很可能会失败。

关于iOS:如何增加 NSURLSession 上传任务的 block 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131900/

相关文章:

ios - Xcode 4.3.2 "Invalid Icon"适用于 iPad 视网膜显示屏

iphone - 闪烁隐藏和使用 block

ios - 在 Swift 中使用 socket.io 库

objective-c - 如何捕获 iOS 中的所有触摸事件?

php - IE 不允许用户通过 PHP 上传 jpg - 其他图像扩展有效

php - 阿拉莫菲尔!在分段文件上传中,progress.isPausable返回false,并且progress.pause()不起作用

ios - 在容器 View 中加载 ViewController

ios - 使用 NSTimer 连续向上移动 UIViews 看起来不稳定/不流畅

ios - 使用 #DEFINE 语句时您是否会失去静态类型能力?

iphone - afnetworking 多文件上传