文件上传fileupload实现

来源:互联网 发布:淘宝类目在哪里设置 编辑:程序博客网 时间:2024/05/18 02:31

添加Pom.xml依赖:

<!--上传--><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency>    <groupId>commons-io</groupId>    <artifactId>commons-io</artifactId>    <version>2.4</version></dependency><!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency>    <groupId>commons-fileupload</groupId>    <artifactId>commons-fileupload</artifactId>    <version>1.3.1</version></dependency>


springmvc里面配置文件:

<bean id="multipartResolver"      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    <property name="defaultEncoding" value="UTF-8" />    <!-- 指定所上传文件的总大小,单位字节。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->    <property name="maxUploadSize" value="10240000" /></bean>


jsp页面:

<form action="StockController/addStock.action"  method="post" enctype="multipart/form-data">
<input type="file" name="multipartFile"/><br/>
<input type="submit" value="添加">
</form>


Controller页面:


@RequestMapping(value = "addStock" ,method = RequestMethod.POST)    public String addStock(Stock stock, MultipartFile multipartFile, HttpServletRequest request) throws IOException {                     System.out.println(multipartFile + "-------------------------------");//获取文件名字        String originalFilename = multipartFile.getOriginalFilename();        System.out.println(originalFilename + "++++++++++++++++++++");//获取不会重复的毫秒数        long l = System.currentTimeMillis();//新名字        String newName = l + originalFilename;        System.out.println(newName + "----------++++++");//图片的输入流名字        InputStream inputStream = multipartFile.getInputStream();//存在于项目中的路径        String wlPath = "E:\\小实训1\\xupeng20170919\\web\\image/" + newName;//逻辑路径,存到数据库中        String ljPath = "../image/" + newName;//临时路径        String realPath = request.getSession().getServletContext().getRealPath("/");        String lsPath = realPath + "//image//" + newName;//如果没有那个文件夹就创建        File wlFile = new File("E:\\小实训1\\xupeng20170919\\web\\image");        if (!wlFile.exists()) {            wlFile.mkdir();        }        File isFile = new File(realPath + "\\image\\");        if (!isFile.exists()) {            isFile.mkdir();        }//不为空时        if (!multipartFile.isEmpty()) {            //输出流 写物理路径            FileOutputStream wlStream = new FileOutputStream(wlPath);            //输出流 写临时路径            FileOutputStream lsStream = new FileOutputStream(lsPath);            int len = 0;            while ((len = inputStream.read()) != -1) {                wlStream.write(len);//写入                lsStream.write(len);            }            wlStream.flush();            lsStream.flush();            wlStream.close();            lsStream.close();            inputStream.close();        }        System.out.println(wlPath);        System.out.println(ljPath);        System.out.println(lsPath);stock.setStockPhoto(ljPath);        stockService.addStock(stock);                return  "redirect:findStockAll.action";            }




原创粉丝点击