《 SSM框架上传包含其他数据》
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:MyEclipse 10、Java
作者:潘玉莹
撰写时间:2020-5-28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在我们软件开发中,会经常用到文件的上传和下载之类的,通过IO流也可以完成这个功能,但是今天我们来看一下利用JAVA框架上传文件,如果还想看其他上传文件的,可浏览我的博客。
- 添加Jar包
如果需要在SpringMVC中进行文件的上传与下载还需要添加两个jar包,如图 4.3.11 所示,将这两个jar包拷贝到项目的lib目录,第二和和第三个文件
2.修改配置文件springmvc.xml 支持文件上传
向SpringMVC配置文件springmvc.xml中添加文件上传相关配置。配置代码如下,配 置如图 所示
3.在pro.xml中新增依赖
4.编写发送请求的前端jsp
表格里一定要用如下
5.控制器层代码
接受从页面传递过来的参数,文件的value的值一定是页面传过来的name值,MultipartFile 后面的可随意写
下面判断文件是否上传,定义上传文件的路径,获取文件的原名称,获取扩展名,拼接文件保存的名称
赋值
利用JSON返回页面
文件上传的位置一般是默认在工程里面的target里面会有,如果不知道可以打印request.getSession().getServletContext().getRealPath()得到绝对路径,然后去找。这只是完成了文件的上传和下载,还有一些细节还是需要修改的,比如文件的名字肯定不能直接给,而是通过变量来获取,这样如果和数据库关联了,就可以通过数据库查询到文件路径和文件名,然后下载或者上传。另外注意这样一句话,headers = “content-type=multipart/*”,如果你没写可以访问那就好,我在学习中没有写上这句话就会报错415不支持媒体类型,这是请求头有问题。