netty4怎么实现分片上传,断点续传

netty4怎么实现分片上传,断点续传,第1张

netty4怎么实现分片上传,断点续传
JAVA WEB文件上传步骤如下:
实现 Web 开发中的文件上传功能,两个 *** 作:在 Web 页面添加上传输入项,在 Servlet 中读取上传文件的数据并保存在本地硬盘中。
1、Web 端上传文件。在 Web 页面中添加上传输入项:<input type="file"> 设置文件上传输入项时应注意:(1) 必须设置 input 输入项的 name 属性,否则浏览器将不会发送上传文件的数据。(2) 必须把 form 的 enctype 属性设为 multipart/form-data,设置该值后,浏览器在上传文件时,将把文件数据附带在 >现在这个时代文件存储基本分离到了单独的存储服务上面,比如说阿里云的OSS,七牛云的云存储等等考虑这些第三方服务的话,那么你的大文件上传和断点续传等功能实现只需要去对接服务商提供的API接口即可(好处就是上传服务的压力等因素服务商帮你抗,不好就是你得付钱给服务商),其中方案就是js-sdk只传OSS的方式,稳定性好,只传断点续传和实时浏览上传进度。
如果你是大神,需要自己在服务器实现上述功能,那么要考虑的不仅是实现本身的需求,还得考虑服务器是否能抗得住这样的上传压力(带宽,延时),还有存储空间是否足够等额外的问题

不行的,因为VB是不支持多线程
补充:
你使用WIN API的CreateThread是可以实现多线程的但是那是使用APIVB本身并不支持多线程
首先断点续传需要提供下载的服务器支持,如果你不能重新连接这个资源,说明服务器不支持断点续传你的下载工具再支持也是没有用的
断点续传的原理:
1首先需要对下载的数据进行运算,例如你要下载的文件大小为1024KB你使用4个线程进行下载则每个线程需要下载256K大小的数据
2开始下载第一个线程从文件流的0位置开始下载,下载大小为256K,第二个线程从文件的256K的位置开始下载(使用SEEK,忽略前256K的数据),下载到文件的512K的位置,第三个线程从512K的位置开始下载,下载到768K的位置以此类推
3文件位置记录,此外你需要一个文件下载辅助文件,记录你使用了多少个线程,每个线程的起始位置和要终止的位置,和下载的当前位置迅雷也有这样的文件,好像新版的是隐藏了文件可以如下
<Thread1>0,255,125</Thread1>
<Thread2>256,512,130</Thread2>
<Thread3>512,768,256</Thread3>
<Thread4>768,1024,256</Thread4>
4从上面那个文件可以看出,你的第3,4号线程已经完成256K大小的下载任务,则你续传的时候,只需要完成1,2号线程的任务,1号线程已经下了125,则下载时从126开始下载到255就可以了,同样使用SEEK,2号下载用256+130+1开始下载,下载到512就可以了
完全手打绝无抄袭


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13138021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-10
下一篇 2023-06-10

发表评论

登录后才能评论

评论列表(0条)

保存