博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC中文件的上传(上传到服务器)和下载问题(一)--------上传
阅读量:4679 次
发布时间:2019-06-09

本文共 1723 字,大约阅读时间需要 5 分钟。

一、今天我们所说的是基于SpringMVC的关于文件的上传和下载的问题的解决。(这里所说的上传和下载都是上传到服务器与从服务器上下载文件)。这里的文件包括我们常用的各种文件。如:文本文件(.txt),word文件(.doc),图片文件(.png    .jpg等),歌曲文件(.mp3等)以及视频文件(.mp4等)等各种类型的文件。

      下面让我们一步一步的来实现它。

二、首先我们需要导入一些jar包。如图所示:

       即在WEB-INF下的lib文件夹下导入圈起的三个jar包。

三、我们来建立一个简单名字为upload的jsp页面,并加入一个表单。如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here
文件:
名字:

      这里有一个需要我们注意的问题,就是form表单的enctype属性一定要改成multipart/form-data。否则的话,我们无法进行文件的上传。

四、我们需要在控制层写一个方法

@RequestMapping(value="/upload",method=RequestMethod.POST)	public String testUpload(HttpServletRequest request,@RequestParam(value="name",required=false) String desc,@RequestParam(value="file") CommonsMultipartFile file) throws Exception{		System.out.println(desc);		ServletContext servletContext = request.getServletContext();		String realPath = servletContext.getRealPath("/upload");		File file1 = new File(realPath);		if(!file1.exists()){			file1.mkdir();		}		OutputStream out;		InputStream in;		String prefix = UUID.randomUUID().toString();		prefix = prefix.replace("-","");		String fileName = prefix+"_"+file.getOriginalFilename();		System.out.println(fileName);		out = new FileOutputStream(new File(realPath+"\\"+fileName));		in = file.getInputStream();		IOUtils.copy(in, out);		out.close();		in.close();		return "/WEB-INF/success.jsp";	}

  这里面最       后返回的是WEB-INF下面的一个jsp页面。

五、在SpringMVC的配置文件里加入以下的配置:

  第一个<property></property>是设置编码;第二个<property ></property>是设置上传文件的大小,这里我们指定的大小是5000000个字节。

六、建立一个名字为success的jsp页面。(随便写点东西就行)

七、我们从upload页面开始运行,然后选择文件,就会将你的文件上传到你本机的服务器上。如图所示:

      我们在相应的文件夹下就能够找到你所上传的文件。

 

转载于:https://www.cnblogs.com/of-fanruice/p/7424865.html

你可能感兴趣的文章
数据库的显示、创建、使用 、用户授权管理及忘记root用户后重置密码
查看>>
ES5和ES6中的继承 图解
查看>>
macos 下usb键盘问题.
查看>>
SQL函数学习(十六):STUFF()函数
查看>>
总结基础OOP(面向对象)
查看>>
node上传包到npm公共库
查看>>
Google 开源的JavaScript工具和库集锦
查看>>
MySQL sharding的几个参考地址
查看>>
CI CLI执行方式
查看>>
robotframework API 源码阅读笔记----robot.utils.asserts
查看>>
201521123092《Java程序设计》第七周学习总结
查看>>
集合与数组之间的相互转换
查看>>
Linux查看系统信息的一些命令及查看已安装软件包的命令(转)
查看>>
根据二叉树前序遍历和中序遍历 构造二叉树
查看>>
Javascript 保留关键字
查看>>
Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
查看>>
VMware安装Centos7超详细过程(图文)
查看>>
state模式实现游戏动画系统
查看>>
HTML 5 的自定义 data-* 属性和jquery的data()方法的使用
查看>>
iphone中点击input不能选中input中的内容
查看>>