一次性上传多个文件到服务器端(一)

页面代码:

<form name="form1" action="uploadFileJunior.html" method="post" ENCTYPE="multipart/form-data">
    <input id="File1" name="fileupload" accept="file/*.*" multiple="multiple" type="file" value="" />
    <input id="" type="submit" value="上传" />
</form>

上面实现多选的关键是multiple="multiple"一句。

后台处理代码:

    @RequestMapping("/uploadFileJunior")
    public String uploadFileJunior(@RequestParam("fileupload") MultipartFile[] files,HttpServletRequest request,HttpServletResponse response){
        try {

            int count=files.length;

            for(int i=0;i<count;i++){
                MultipartFile file=files[i];

                InputStream is=file.getInputStream();
                String fileName=file.getOriginalFilename();
                System.out.println("File"+(i+1)+":"+fileName);
                String newFilepath=fileService.upload2Server(is,fileName);
                logger.info(i+":"+file.getOriginalFilename()+" "+" newFilepath="+newFilepath);

            }

            return "/pages/sample/index.jsp";
        } catch (Exception e) {
            e.printStackTrace();
            logger.error(e);

            request.setAttribute("error", e.getClass());
            request.setAttribute("reason", e.getMessage());
            StackTraceElement[] arr=e.getStackTrace();
            request.setAttribute("stackTraceElements", arr);

            return "pages/error/index.jsp";
        }
    }

注意好上面两个fileupload的映射关系,后台这边对应的变量数组是files,之后针对files进行处理就行了。

参考资料:

http://www.cnblogs.com/jingch/p/5036686.html

时间: 2024-08-02 02:48:15

一次性上传多个文件到服务器端(一)的相关文章

django 一次性上传多个文件, 批量上传

在用django 写文件上传的时候,从request.FILES['myfiles'] 获取到的文件始终只有一个, 但在HTML页面上明明用 HTML5 的 文件控件选择了多个文件,用的是CHROME 浏览器,一次可以选择多个文件上传.在 Pydev 开启debug模式,查看request 对象,发现上传的多个文件确实在request对象中,但为什么 用request.FILES['myfiles'] 却只能得到一个呢? 前端 html5 上传控件, 我用了jquery file upload

spring cloud实战与思考(二) 微服务之间通过fiegn上传多个文件1

需求场景: 微服务之间调用接口一次性上传多个文件. 上传文件的同时附带其他参数. 多个文件能有效的区分开,以便进行不同处理. Spring cloud的微服务之间接口调用使用Feign.原装的Feign不支持文件的传输.需要借助"Feign-form"库才行.但是貌似"Feign-form"库(至少是3.0.3版本)只支持单文件上传.在接口中使用多文件参数时会报异常: feign.codec.EncodeException: class [Lorg.springfr

文件无刷新上传并获取保存到服务器端的路径(swfUpload与uploadify)

文件无刷新上传并获取保存到服务器端的路径 遇到上传文件的问题,结合之前用到过的swfUpload,又找了一个无刷新上传文件的jquery插件uploadify,写篇博客记录一下分别介绍这两个的实现方法 swfUpload 导入swfUpload的开发包 添加js引用,引用swfUpload.js与handler.js文件,如果对swfUpload不了解.有疑问可以看看这篇博客 页面初始化 修改handler.js文件中 上传成功的事件,serverData是服务器端的响应 Uploadify 导

使用html中的&lt;input&gt;标签上传多个文件(转)

如何使用html上传多个文件呢?我搜索中文怎么也找不到合适的,都是用js动态添加input,然后提交,不能满足我想要的——打开选择文件的窗口后可以一次性选择多个文件. 然后我尝试搜索英文"html input file multiple",终于在stackoverflow找到一个文章:http://stackoverflow.com/questions/1175347/how-can-i-select-and-upload-multiple-files-with-html-and-ph

web文件上传一学习记录 (简单的web浏览器可读文件的上传,servlet 文件上传)

文件上传:这里用得时表单上传的方式,表单上传到的时候 method一定指定为POST,enctype="multipart/form-data". 第一种方式,直接上传.读取.显示内容,并没有存储到服务器端. 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.g

文件上传,判断文件错误类型

HTML代码上传文件: <form action="doAction.php" method="post" enctype="multipart/form-data"> 请选择上传文件:<input type="file" name="myFile" /><br /> <input type="submit" value="上传&quo

flask 文件上传(单文件上传、多文件上传)

文件上传 在HTML中,渲染一个文件上传字段只需要将<input>标签的type属性设为file,即<input type=”file”>. 这会在浏览器中渲染成一个文件上传字段,单击文件选择按钮会打开文件选择窗口,选择对应的文件后,被选择的文件名会显示在文件选择按钮旁边. 在服务器端,可以和普通数据一样获取上传文件数据并保存.不过需要考虑安全问题,文件上传的漏洞也是比较流行的攻击方式.除了常规的CSRF防范,我们还需要重点关注这几个问题:验证文件类型.验证文件大小.过滤文件名 定

大数据技术之_18_大数据离线平台_02_Nginx+Mysql+数据收集+Web 工程 JS/JAVA SDK 讲解+Flume 故障后-如何手动上传 Nginx 日志文件至 HDFS 上

十一.Nginx11.1.介绍11.2.常见其他 Web 服务器11.3.版本11.4.Nginx 安装11.5.目录结构11.6.操作命令十二.Mysql12.1.介绍12.2.关系型数据库(SQL)种类12.3.特征12.4.术语12.4.与非关系型数据库比较(Not Only SQL)12.4.1.种类12.4.2.特征12.4.3.总结十三.数据收集13.1.收集方式13.2.数据的事件类型13.2.1.Launch 事件13.2.2.PageView 事件13.3.Nginx 日志收集

struts2文件上传(单文件/批量添加)

单文件上传 1.导入上传需要jar包 2.建立UploadAction file是jsp页面的输入项的name相同,后面的两个属性的名称也是有规律的:(inputName+FileName/ContentType) 1 public class UploadAction extends ActionSupport{ 2 3 private static final long serialVersionUID = 1L; 4 private File file;//上传文件的本身 5 privat