html5批量上传,java如何实现批量上传

图片批量上传代码

用这个插件吧,jspsmartupload

创新互联建站长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为太白企业提供专业的成都网站制作、网站建设、外贸网站建设太白网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

upload.html页面

html

head

title文件上传/title

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

/head

body

p /p

p align="center"上传文件选择/p

FORM METHOD="POST" ACTION="jsp/do_upload.jsp"

ENCTYPE="multipart/form-data"

input type="hidden" name="TEST" value="good"

table width="75%" border="1" align="center"

tr

tddiv align="center"1、

input type="FILE" name="FILE1" size="30"

/div/td

/tr

tr

tddiv align="center"2、

input type="FILE" name="FILE2" size="30"

/div/td

/tr

tr

tddiv align="center"3、

input type="FILE" name="FILE3" size="30"

/div/td

/tr

tr

tddiv align="center"4、

input type="FILE" name="FILE4" size="30"

/div/td

/tr

tr

tddiv align="center"

input type="submit" name="Submit" value="上传它!"

/div/td

/tr

/table

/FORM

/body

/html

do_upload.jsp页面

%@ page contentType="text/html; charset=gb2312" language="java"

import="java.util.*,com.jspsmart.upload.*" errorPage="" %

html

head

title文件上传处理页面/title

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

/head

body

%

// 新建一个SmartUpload对象

SmartUpload su = new SmartUpload();

// 上传初始化

su.initialize(pageContext);

// 设定上传限制

// 1.限制每个上传文件的最大长度。

// su.setMaxFileSize(10000);

// 2.限制总上传数据的长度。

// su.setTotalMaxFileSize(20000);

// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。

// su.setAllowedFilesList("doc,txt");

// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,

jsp,htm,html扩展名的文件和没有扩展名的文件。

// su.setDeniedFilesList("exe,bat,jsp,htm,html,,");

// 上传文件

su.upload();

// 将上传文件全部保存到指定目录

int count = su.save("/upload");

out.PRintln(count+"个文件上传成功!br");

// 利用Request对象获取参数之值

out.println("TEST="+su.getRequest().getParameter("TEST")

+"BRBR");

// 逐一提取上传文件信息,同时可保存文件。

for (int i=0;isu.getFiles().getCount();i++)

{

com.jspsmart.upload.File file = su.getFiles().getFile(i);

// 若文件不存在则继续

if (file.isMissing()) continue;

// 显示当前文件信息

out.println("TABLE BORDER=1");

out.println("TRTD表单项名(FieldName)/TDTD"

+ file.getFieldName() + "/TD/TR");

out.println("TRTD文件长度(Size)/TDTD" +

file.getSize() + "/TD/TR");

out.println("TRTD文件名(FileName)/TDTD"

+ file.getFileName() + "/TD/TR");

out.println("TRTD文件扩展名(FileExt)/TDTD"

+ file.getFileExt() + "/TD/TR");

out.println("TRTD文件全名(FilePathName)/TDTD"

+ file.getFilePathName() + "/TD/TR");

out.println("/TABLEBR");

// 将文件另存

// file.saveAs("/upload/" + myFile.getFileName());

// 另存到以WEB应用程序的根目录为文件根目录的目录下

// file.saveAs("/upload/" + myFile.getFileName(),

su.SAVE_VIRTUAL);

// 另存到操作系统的根目录为文件根目录的目录下

// file.saveAs("c:\\temp\\" + myFile.getFileName(),

su.SAVE_PHYSICAL);

}

%

/body

/html

参考资料来源:

呵呵 正好前端时间我 也用到了

使用dw制作的html5网页怎么上传到微信公众平台

微信公众平台本身没有这个存储空间,所以就需要有个服务器或者第三方托管来承载制作好的html5页面;

1.通常微信都有第三方合作平台,直接调用第三方接口,然后将html5和页面素材统一打包上传到第三方服务端。

2.倘若有服务器空间,则直接将html5打包放在网站根目录文件下,在微信端直接调用服务器端的地址即可;

3.可以在微信平台通过文字或链接跳转的形式,实现html5页面的转换。

网盘哪个好

一盘是Gleasy互联网操作系统中集文件在线存储,文件管理和文件分享为一体的云端应用。因为用户不仅仅需要的存储,同样需要管理、编辑、共享等全面的流畅的体验。

本地化的交互视觉体验,无需更多的学习成本,简单易用。

简单的上传。一盘基于HTML5的技术,点击上传按钮实现多个文件批量上传;也可以批量选中文件后拖拉至一盘窗口;对于使用客户端的用户,还提供了文件夹本地快捷复制,网盘快捷黏贴。

简单的文件处理,一盘实现了DOC、TXT、PPT、PDF、图片等日常办公文档的在线预览,并提供了多种在线编辑器进行编辑,提高了文件处理效率。

简单的分享,对于系统内部的会员,一盘集成了联系人组件,迅速分享给联系人,并授予只读或编辑的操作权限,即时通讯的对话窗口或者讨论组窗口的分享;对于系统外会员,提供了URL分享,一键邮件发送的分享模式。

一盘采用了自主研发的分布式文件管理系统,实现了文件的切块加密传输与存储;海量实时检索解决,帮助用户迅速通过关键字找到所需的文档;分布式多级缓存,帮助用户迅速打开文档资料。

一盘还提供了丰富的中间件(API接口),供第三方开发人员调用。例如,美图秀秀、图丫丫等集成了一盘的接口,实现了从一盘调用图片,编辑后保存到一盘,从一盘中选择图片选择编辑工具打开。项目管理工具实现了,项目的资料从一盘获取,并将一些文件存储在一盘,并对应用中存储进行容量统计。

该应用可以帮助个人随时随地快捷的编辑与分享资料;帮助企业迅速建立起企业知识库,快速的沟通与协作;帮助开发者解决云端应用的存储逻辑与方式,大大提高了云端应用功能的丰富性,提升开发进度。

用html5进行多文件上传的时候是一次性把所有已选择文件传到后台么

html传多个文件对前端来说是一股脑的提交,但是其实主要还是看后台是如何接收的。后台可以设置一次性接收的文件数据,文件大小等等。其实就和平时的上传下载是一样的。

以下载为例:下载的时候,比如用迅雷下载,你的本机是否可以选择并行下载、逐个下载还可以停止、继续下载。同样的,上传也是一个类似的过程,主要依靠服务器代码进行管理设置。本质上,是两个计算机之间相互传递数据流而已。

当然,在默认的时候,服务器是接收多个文件的,比如javaweb中struts2接收文件默认是接收完所有文件然后再操作的。

你好,我用webuploader.html5only.min.js实现批量图片上传,我该怎么在action中获取上传的那些文件呢?

1.1 分片、并发

分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。

当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。

1.2 预览、压缩

支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。

解析jpeg中的meta信息,对于各种orientation做了正确的处理,同时压缩后上传保留图片的所有原始meta数据。

1.3 多途径添加文件

支持文件多选,类型过滤,拖拽(文件文件夹),图片粘贴功能。

粘贴功能主要体现在当有图片数据在剪切板中时(截屏工具如QQ(Ctrl + ALT + A), 网页中右击图片点击复制),Ctrl + V便可添加此图片文件。

1.4 HTML5 FLASH

兼容主流浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内核。

同时Flash部分没有做任何UI相关的工作,方便不关心flash的用户扩展和自定义业务需求。

1.5 MD5秒传

当文件体积大、量比较多时,支持上传前做文件md5值验证,一致则可直接跳过。

如果服务端与前端统一修改算法,取段md5,可大大提升验证性能,耗时在20ms左右。

1.6 易扩展、可拆分

采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。

采用AMD规范组织代码,清晰明了,方便高级玩家扩展。

2、引入资源

2.1 下载包内容

├── Uploader.swf // SWF文件,当使用Flash运行时需要引入。

├── webuploader.js // 完全版本。

├── webuploader.min.js // min版本

├── webuploader.flashonly.js // 只有Flash实现的版本。

├── webuploader.flashonly.min.js // min版本

├── webuploader.html5only.js // 只有Html5实现的版本。

├── webuploader.html5only.min.js // min版本

├── webuploader.withoutimage.js // 去除图片处理的版本,包括HTML5和FLASH.

└── webuploader.withoutimage.min.js // min版本

2.2 或者直接使用由staticfile提供的cdn版本,或者下载Git项目包。

// SWF文件,当使用Flash运行时需要引入。

├──

// 完全版本。

├──

├──

// 只有Flash实现的版本。

├──

├──

// 只有Html5实现的版本。

├──

├──

// 去除图片处理的版本,包括HTML5和FLASH.

├──

└──

2.3 DIY打包

WebUploader文件打包借助了Grunt工具来实现

2.3.1 环境依赖

1.git命令行工具

2.node npm命令行工具

3.grunt (npm install grunt-cli -g)

2.3.2 编译代码

1.克隆 webuploader git仓库,git clone 。

2.安装node依赖,npm install。

3.执行grunt dist,此动作会在dist目录下面创建合并版本的js, 包括通过uglify压缩的min版本。

2.3.3 配置

打开webuploader仓库根目录下面的Gruntfile.js文件, 代码合并有buildtask来完成。找到build配置项。

Gruntfile.js已经配置了一个自定义合并的demo. 打包只支持HTML5的版本

// 自己配置的实例

// glob语法。

custom: {

preset: "custom",

cwd: "src",

src: [

'widgets/**/*.js',

'runtime/html5/**/*.js' ],

dest: "dist/webuploader.custom.js"

}

3、angular指令——web-uploader

3.1 指令功能

添加一个上传文件按钮,可以自行配置上传文件的类型和过滤规则,且在弹出的模态框中进行操作,支持连续上传,分类选择上传

3.2 使用说明

这里只是使用说明,可能会加一些注意事项,具体参数或者变量说明请参看后面

3.2.1 页面添加一个指令

web-uploader class="btn btn-info" type="image" accept="accept"uploader/web-uploader

3.2.2 配置上传类型和过滤规则

上传类型

type有四种类型,分别为

image:图片

video:音视频

flash:flash

file:办公文档,压缩文件等等

过滤规则

accept有四个对象属性,属性中包含标题、允许文件后缀、允许的mimetype

3.2.3 指令中绑定弹出模态框的事件

web-uploader这个指令中其实只做了一件事,给元素本身绑定弹出模态框的事件,具体上传文件是在模态框中完成的

3.2.4 初始化uploader类,配置相关属性

在模态框控制器中用到了$timeout

$timeout(function(){

//这里是上传配置代码

},0)

因为配置uploader时需要事先准备好dom元素,angular打开模态框是异步而JavaScript是单线程,所以实际上在执行模态框控制器中的代码时,模态框并没有打开,也就是dom并没有加载完成,这会导致WebUploader报a.runningtime is not a function...的错误

3.3 指令详细说明

3.3.1 父级controller中的配置

.controller('myCtrl',['$scope', '$modal', function($scope, $modal){

//配置允许上传的类型 图片/音视频/flash/文件

$scope.accept = {

//图片

image: {

title : 'Images',//标题

extensions : 'gif,jpg,jpeg,bmp,png,ico',//允许上传文件的后缀

mimeTypes : 'image/*'//允许的mimetype

},

//音视频

video: {

title : 'Videos',

extensions : 'wmv,asf,asx,rm,rmvb,ram,avi,mpg,dat,mp4,mpeg,divx,m4v,mov,qt,flv,f4v,mp3,wav,aac,m4a,wma,ra,3gp,3g2,dv,vob,mkv,ts',

mimeTypes : 'video/*,audio/*'

},

//flash

flash: {

title : 'Flashs',

extensions : 'swf,fla',

mimeTypes : 'application/x-shockwave-flash'

},

//办公文档,压缩文件等等

file: {

title : 'Files',

extensions : 'zip,rar,ppt,pptx,doc,docx,xls,xlsx,pdf',

mimeTypes : 'application/zip,application/x-rar-compressed,application/vnd.ms-powerpoint,application/vnd.openxmlformats- officedocument.presentationml.presentation,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms- excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/pdf'

}

};

}])

3.3.2 指令web-uploader

.directive('webUploader', ['$modal', function($modal){

return{

restrict: 'AE',

scope: {

accept: '=accept'

},

link: function($scope, $element, $attr){

$element.bind('click',function(){

var modalInstance = $modal.open({

controller: 'modalCtrl',

templateUrl: 'template/webuploader.tpl.html',

size:'lg',

resolve: {

items: function(){

return {

accept: $scope.accept,

type: $attr.type

};

}

}

});

modalInstance.result.then(function(returnStatus){

console.log(returnStatus);

},function(){

console.log('Modal dismissed at: ' + new Date());

});

});

}

};

}]);


当前标题:html5批量上传,java如何实现批量上传
本文URL:http://scyanting.com/article/phiggp.html