java 开源 断点续传,全平台大文件断点续传上传技术 ( 开源项目 Stream )
Stream 上传插件介绍
Stream 这个项目主要是为了解决大文件上传, 本程序只是它的一个 Perl 后端的实现. 项目网站是: http://www.twinkling.cn 原始地址是: http://git.oschina.net/jiangdx/stream/wikis/home. 因为它对 HTML5 和 Flash 都支持, 所以很合适做全功能的上传平台. 在这, 感谢作者为我们大家提供这么好的开源项目.支持HTML5、Flash两种方式(跨域)上传
支持多文件一起上传
HTML5方式支持断点续传,拖拽等新特性
兼容性好IE7+, FF3.6+, Chrome*,Safari4+,遨游等主流浏览器
选择文件的按钮完全可以自定义
进度条、速度、剩余时间等附属信息
基本的自定义属性及函数,如文件多选、上传成功的响应函数等
示例代码java实现(StreamServlet, FormDataServlet{commons-fileupload的stream api}, TokenServlet)
注:Chrome没测试最低版本,不想支持IE6
Stream 的 Perl 后端
本后端是使用 Perl 中常用的框架 Mojolicious 实现. 本程序做为后端接收上传过来的大文件的时候, 完全使用的是异步流式处理, 所以就算是单进程, 也可以处理多个上传的请求. 并且不会有多少内存的占用. 因为使用 Mojolicious 实现, 所以需要安装这个框架和一些相关的模块. Perl 中模块的安装需要使用 cpanm 所以先要下载 cpanm .$ wget http://xrl.us/cpanm --no-check-certificate -O /sbin/cpanm
$ chmod +x /sbin/cpanm
然后开始安装$ cpanm Mojolicious EV Digest::MD5
安装
这个 Perl 的后端的 stream 的实现文件都在项目 https://github.com/iakuf/mojolicious-stream-upload 中. 大家需要使用到其中二个文件 stream.pl 和 StreamUpload.conf 所以可以使用任何方法下载这个项目中的文件. 其中 stream.pl 是执行文件, StreamUpload.conf 是配置文件.
stream.pl 可以放在任何路径, StreamUpload.conf 请放到 '/etc' 的目录下.
配置
整个配置文件如下:{
hypnotoad => {
listen => ['http://*:3008'],
user => 'newupload',
group => 'newupload',
},
UploadServer => 'http://xxx.xxxx.com',
CrossOrigins => 'http://xxx.xxxx.com',
FileRepository => '/tmp/',
debug => 1,
log => '/var/log/upload.log',
}
指定用户和组user => 'newupload'
group => 'newupload'
哪些域名的文件, 是可以接收并存储的CrossOrigins => 'http://xxx.xxx.com'
文件存储的目录FileRepository => '/tmp/'
修改服务器启动的端口listen => ['http://*:3008']
启动
hyphotoad 是一个常用的 Perl 后端的 Web 异步服务器, 为 Mojolicious 的原生配置. 多进程, 为 Unix 优化过. 所以使用它来启动,$ hypnotoad stream.pl
现在就可以直接打开这个服务器来进行测试了
java 开源 断点续传,全平台大文件断点续传上传技术 ( 开源项目 Stream )相关推荐
- minio实现大文件分片上传+断点续传+预览
minio实现大文件分片上传+断点续传+预览 只提供后端java代码 思路: 前端分片 校验文件md5是否已经存在 --不存在创建临时桶存分片 校验分块是否已经上传 分块上传 合并分块 校验合成后md ...
- 大文件分片上传,断点续传,秒传 实现
前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...
- 大文件分片上传前端框架_无插件实现大文件分片上传,断点续传
文件上传.gif 1. 简介: 本篇文章基于实际项目的开发,将介绍项目中关于大文件分片上传.文件验证.断点续传.手动重试上传等需求的使用场景及实现: 2. 项目需求 在一个音视频的添加中,既要有音视频 ...
- 无插件实现大文件分片上传,断点续传
代码地址如下: http://www.demodashi.com/demo/11888.html 1. 简介: 本篇文章基于实际项目的开发,将介绍项目中关于大文件分片上传.文件验证.断点续传.手动重试 ...
- 使用webuploader组件实现大文件分片上传,断点续传
无组件断点续传.gif 1. 组件简介 webuploader:是一个以HTML5为主, Flash为辅的文件上传组件,采用大文件分片/并发上传的方式,极大地提高了文件上传的效率,同时兼容多种浏览器版 ...
- 大文件分片上传、断点续传
话前 一开始在做文件上传的时候,没考虑过文件上传失败的问题,因为上传的多数都是几十兆几百兆的文件.但是也有会上传比较大的文件,此时传统的上传直接没了反应,也不知道上传了多少就很头疼.后来网上搜索的关于 ...
- Vue实现大文件分片上传,包括断点续传以及上传进度条
首先解释一下什么是分片上传 分片上传就是把一个大的文件分成若干块,一块一块的传输.这样做的好处可以减少重新上传的开销.比如:如果我们上传的文件是一个很大的文件,那么上传的时间应该会比较久,再加上网络不 ...
- Java实现腾讯云COS高级(大文件)上传,不考虑分块
// 腾讯云COS高级(大文件)上传,不用考虑分块public static URL fileCOS(File file, String key) throws Exception {String S ...
- java实现大文件分片上传
java实现大文件分片上传 在项目中用到了大文件上传功能,最初从网上参考了一些代码来实现,但是最终的上传效果不是很好,速度比较慢. 之前的上传思路是: 前端利用webUploader分片大文件 后端接 ...
最新文章
- 【c语言】蓝桥杯算法提高 填充蛋糕
- 基于TensorFlow理解三大降维技术:PCA、t-SNE 和自编码器
- java android 数组_android中数组的定义与使用
- 语义化版本控制规范(SemVer)
- 【机器学习】 - 关于合适用均方误差(MSE)何时用交叉熵(cross-entropy)
- scala运算符_Scala的所有符号运算符是什么意思?
- 自动化运维工具Ansible之roles
- python-3.8.0安装
- 配置元件--HTTP授权管理器
- mac修改了/etc/profile导致所有命令不能用、mac下vim不能使用
- 图解sql内外连接和左连接left join和右连接right join
- 70部MAYA灯光材质渲染教程合集
- pandas计算相关系数
- Python进阶读书笔记之(四) set集合
- 建立FTP服务器的免费软件
- 终于有人把XGBoost 和 LightGBM 讲明白了,项目中最主流的集成算法!
- 新来的妹纸 rm -rf 把公司整个数据库删没了!!!
- 前端 input 自动填充功能
- 前端面试题总结【持续更新···】
- PTA基础编程题目集
热门文章
- 单片机 rs232 c语言,单片机与RS232串口通信C51程序
- 2020年淘宝店铺“补单”失败的原因分析总结
- java借助modbus协议实现与设备的通讯,收发信息,实现对设备信息的采集
- linux 下竟有想大白菜软件,世界最小Linux系统Tiny Core 3.5 官方最新版下载,大白菜软件...
- 《计算机网络》学习总结——物理层 (梳理重点)
- 新手上路,安全驾驶,做行车安全的第一责任人
- MySQL中删除主键
- c语言程序设计循环结构求奇数和,C语言程序设计实验报告循环结构程序设计.doc...
- 区块链项目如何包装?点击查看详细流程
- 安卓入门-动画(Animation)(由简单的单一动画到复杂的时间顺序叠加动画)(XML实现方式+JAVA实现方式)