使用commons-fileupload插件来帮我们处理上传后的数据而让我们自己手动处理的话,也是可以的,但是十分麻烦,因为我们需要将所有的请求体获取到,
首先maven下载fileupload和commons-io可以这两个类可以对浏览器的发送请求头保存,并能实现结束
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | <!--upload 文件--><dependency>
 <groupId>commons-fileupload</groupId>
 <artifactId>commons-fileupload</artifactId>
 <version>1.3.1</version>
 </dependency>
 <dependency>
 <groupId>commons-io</groupId>
 <artifactId>commons-io</artifactId>
 <version>2.5</version>
 </dependency>
 
 | 
浏览器端的代码
#html #
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | <br><!--<form enctype="multipart/form-data">-->
 <div class="modal-header">
 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
 <h4 class="modal-title" id="myModalLabel">拖入文件上传</h4>
 </div>
 <div class="form-group">
 <input id="file-1" type="file" class="file" data-overwrite-initial="false"
 data-min-file-count="1">
 </div>
 
 | 
js
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 
 | //文件上传$("#file-1").fileinput({
 language: 'zh', //设置语言
 uploadUrl: "adminAddRoute?methodName=updatePic", //上传的地址
 showUpload: true, //是否显示上传按钮
 showCaption: true,//是否显示标题
 browseClass: "btn btn-primary", //按钮样式 previewId, index
 uploadExtraData: function () {
 var data = {
 parentId: $("#fileType").val()
 };
 return data;
 },
 'theme': 'explorer',
 maxFileCount: 1, //表示允许同时上传的最大文件个数
 enctype: 'multipart/form-data',
 validateInitialCount: true,
 msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!",
 allowedFileExtensions : ['jpg', 'png','gif'],
 overwriteInitial: false,
 maxFileSize: 1000,
 maxFilesNum: 1,
 //allowedFileTypes: ['image', 'video', 'flash'],
 slugCallback: function(filename) {
 return filename.replace('(', '_').replace(']', '_');
 }
 });
 
 | 
将html文档放在需要实现的地方即可
java后台实现
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 
 | String path_temp = this.getServletContext().getRealPath("temp");//DiskFileItemFactory factory = new DiskFileItemFactory(1024*1024, new File(path_temp));
 DiskFileItemFactory factory = new DiskFileItemFactory();
 factory.setSizeThreshold(1024*1024);
 factory.setRepository(new File(path_temp));
 //2、创建文件上传的核心类
 ServletFileUpload upload = new ServletFileUpload(factory);
 //设置上传文件的名称的编码
 upload.setHeaderEncoding("UTF-8");
 List<FileItem> fileItems = upload.parseRequest(request);
 FileItem item = fileItems.get(0);
 //文件上传项
 //文件的名
 String fileName1 = item.getName();
 System.out.println("上传文件名称 = " + fileName1);
 String uuid = UUID.randomUUID().toString().replace("-", "");
 
 String fileName = uuid + ".jpg";
 //获得上传文件的内容
 InputStream in = item.getInputStream();
 
 //设置图片保存名字和路径
 String path_store = this.getServletContext().getRealPath("img/product");
 //                            if(path_store)
 
 
 String st = path_store + "/" + fileName;
 OutputStream outSize2 = new FileOutputStream(st);
 //        OutputStream outSize4 = new FileOutputStream(path_store+"/size4/"+fileName);
 //        OutputStream outSize3 = new FileOutputStream(path_store+"/size3/"+fileName);
 
 //保存文件
 IOUtils.copy(in, outSize2);
 in.close();
 outSize2.close();
 
 |