为了账号安全,请及时绑定邮箱和手机立即绑定

iOS中如何提高上传大文件的效率

iOS中如何提高上传大文件的效率

RISEBY 2019-04-06 08:31:45
我有个需求是从iOS上传一个大约30MB左右的大文件到服务端,现在我就用了ASI的那个FormRequest,但是文件太大了,传起来超级慢,而且中间一旦出现问题,就得重新传输。我现在想到两个优化的办法分割文件,并行传输。就是把大文件切割成5部分,然后同时运行五个异步进程,然后服务端再合并。但我有个担心是,iPhone真的可以并行处理5个上传链接吗?而且会不会受带宽影响,效率还不如一个文件传。另一个是断点续传,在时间上进行分割。但我没有找到什么好的断点方案,也没有思路,求一个思路或者方案。
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

断点的话,服务器纪录一个传递的文件偏移位置,每次请求从返回的head中读取偏移量,然后,客户端通过NSFileHandle通过偏移读取文件到buffer再发送到服务器。	NSFileHandle*readHandle=[NSFileHandlefileHandleForReadingAtPath:filePath];
	[readHandleseekToFileOffset:offset];
NSInputStream*fileStream=[NSInputStreaminputStreamWithData:[readHandlereadDataOfLength:1024*8]];对于1,你切割成5个做异步,不如一个文件做断点,切割还增加了客户端和服务器对文件操作的开销。
                            
查看完整回答
反对 回复 2019-04-06
  • 2 回答
  • 0 关注
  • 323 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信