超大文件如何快速传输?
一般情况下,组织机构在与外部合作机构或者客户发送文件时,大部分都是使用邮件、QQ、FTP等常规方式进行文件传输,但是当文件容量在2-3G以上时,上述方法就变得非常缓慢,而且不仅仅是速度问题,还会面临以下各种问题:
1、使用传统方式发送大文件时,传输、上传、下载缓慢,使得交付和获得文件的周期变长,会占用大量的时间和精力,导致组织机构的工作效率变低。
2、使用传统方式发送大文件时,很容易出现传输中断、传输错误的现象,数据安全和完整性无法保障,不仅需要大量人力进行持续的跟踪,而且很有可能出现业务上的漏洞,给企业造成巨大的损失。
3、有些传输方式对文件大小和数量有限制,比如超过多少GB就不能传输,最多一次传输多少个文件,这对于一些需要传输超大文件或者多个文件的企业来说,影响正常业务流程。
所以,在这数据飞速发展的时代,企业如何能将超大文件安全、稳定、高效地进行传输,大文件传输工具是必不可少的,比如《Ftrans超大文件高速传输解决方案》可以轻松应对超大文件传输挑战,其具有以下特点:
超高速传输协议CUTP,让大文件传输就像普通文件一样
采用超高速传输协议CUTP,使得用户可以在任何网络条件下,无论距离远近,都可以进行超大文件上传下载,而且传输速度可达传统FTP方式的30倍以上,大大缩短文件传输时间。
企业级的可靠性,确保文件100%一致性
通过多重校验、断点续传、错误自动重传三重保障,确保传输源文件与目标文件 100% 的一致性,避免文件传输过程中出现细微的错误,可能给用户业务造成的巨大影响和损失。
不限大小不限文件数量,实现超大文件高效流转
对文件大小和文件数量没有限制,让传输超大文件就像传输普通文件一样,简单、轻松、便捷地进行超大文件上传下载。
自动化文件调度,大大提升工作效率
支持周期性传输和实时同步传输,自动持续进行文件调度。支持文件传输前后的自定义处理逻辑,满足自动化数据处理、数据流转的业务流程。
速度决定效率,企业需要实现大文件快速传输,从而提高工作效率,让企业快人一步。《Ftrans超大文件高速传输解决方案》可以帮助企业发掘和利用数据的价值,更加便捷高效地管理、访问、交换文件数据。
去年年底闲来无事,在猪八戒网上闲逛,看能否赚点零花钱。哈~。
看到一需求:相册读取大视频文件(上G),文件流读取,分片上传,禁止占用本地磁盘。
最初想到读取视频文件用 UIImagePickerController,文件流上传采用NSInputStream和 NSOutputStream去解决。网上查找也有不少对应的资料和demo。后来与老板沟通后,要求是上传到七牛类似的云端,文件流上传也不符合分片上传的要求。最重要的一点视频文件很大,直接读取到App就会崩溃。
另外一种读取相册的方式是ALAsset,iOS 8以后苹果推荐使用PhotoKit。而且最让人激动的是,通过 PhotoKit可以获取到视频文件的路径。七牛云提供的分片上传接口中,参数必须是路径。哈~~接下来就是做个demo去验证啦。
获取所有相册资源,并按照创建时间排序。
获取所有视频集合。
获取视频文件路径。
集成七牛云存储第三方,基本实现需求。
我在测试时,PhotoKit获取视频文件的方式是不可视的,很难选择自己想要上传的文件。而UIImagePickerController可以选择对应的视频。想要做一个类似相册的VideoPicker,就要获取视频的第一帧,并把它显示出来。
在加上视频时间,就像个VideoPicker的样子啦。
这种VideoPicker的方式与系统相册的方式对比。ThumbVideoPicker占用内存小。我用一个20M左右的视频文件测试。结果如下:
在打开到对应视频缩略图页面时,系统内存达到第一个峰值,约16M左右。而本文所用ThumbVideoPicker只有13M左右。另外系统在选择对应视频后有一个压缩的过程,也会占用不少内存。在视频文件很大时,这种优势更为明显。
如果是仅为获取视频文件路径上传,或者大文件视频上传(无压缩),采用PhotoKit的方式也是一个较好的选择。
本文参考demo
附:
NSInputStream 相册上传资料
PhotoKit学习资料
Example app using Photos framework
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)