扫码关注官方订阅号
我有个需求是从iOS上传一个大约30MB左右的大文件到服务端,现在我就用了ASI的那个FormRequest,但是文件太大了,传起来超级慢,而且中间一旦出现问题,就得重新传输。 我现在想到两个优化的办法
认证0级讲师
断点的话,服务器纪录一个传递的文件偏移位置,每次请求从返回的head中读取偏移量,然后,客户端通过NSFileHandle通过偏移读取文件到buffer再发送到服务器。
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:filePath]; [readHandle seekToFileOffset:offset]; NSInputStream *fileStream = [NSInputStream inputStreamWithData:[readHandle readDataOfLength:1024*8]];
对于1,你切割成5个做异步,不如一个文件做断点,切割还增加了客户端和服务器对文件操作的开销。
断点续传需要什么特别的方案吗?不就是在服务器端记录一下上传进度,重传的时候找服务器要回来就行了。
请问七牛断点续传怎么写 ,,用cancellationSigna 返回YES 可以实现暂停继续,如果程序退出时,下次上传怎么续传呢
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
断点的话,服务器纪录一个传递的文件偏移位置,每次请求从返回的head中读取偏移量,然后,客户端通过NSFileHandle通过偏移读取文件到buffer再发送到服务器。
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:filePath]; [readHandle seekToFileOffset:offset]; NSInputStream *fileStream = [NSInputStream inputStreamWithData:[readHandle readDataOfLength:1024*8]];对于1,你切割成5个做异步,不如一个文件做断点,切割还增加了客户端和服务器对文件操作的开销。
断点续传需要什么特别的方案吗?不就是在服务器端记录一下上传进度,重传的时候找服务器要回来就行了。
请问七牛断点续传怎么写 ,,用cancellationSigna 返回YES 可以实现暂停继续,如果程序退出时,下次上传怎么续传呢