java 文件上传ssm_ssm框架下实现文件上传

1、由于ssm框架是使用Maven进行管理的,文件上传所需要的jar包利用pom.xml进行添加,如下所示:

1.3.1

2.4

commons-io

commons-io

${commons-io.version}

commons-fileupload

commons-fileupload

${commons-fileupload.version}

commons-io

commons-io

2、spring-mvc.xml配置

3、文件上传页面fileupload.jsp(比较简陋,仅用于测试是否上传成功)

代码目录如下:

ccdc21d9cafe2ca31475a1d06a4b173e.png 

代码如下:

Created by IntelliJ IDEA.

User: 87035

Date: 2017/8/31

Time: 13:56

To change this template use File | Settings | File Templates.

--%>

file upload

文件上传

注:form表单中的enctype=”multipart/form-data“必不可少,否则提交会报The current request is not a multipart request,具体可见The current request is not a multipart request

4、在controller层写上springmvc上传的代码

代码如下:

package com.NQ.managesystem.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

import java.io.File;

import java.io.IOException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

@Controller

@RequestMapping("/file")

public class FileUploadUtils {

@RequestMapping("/fileupload.do")

public @ResponseBody String upload(MultipartFile file, HttpServletRequest request) throws IOException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");

String res = sdf.format(new Date());

// uploads文件夹位置

String rootPath = request.getSession().getServletContext().getRealPath("resource/uploads/");

// 原始名称

String originalFileName = file.getOriginalFilename();

// 新文件名

String newFileName = "sliver" + res + originalFileName.substring(originalFileName.lastIndexOf("."));

// 创建年月文件夹

Calendar date = Calendar.getInstance();

File dateDirs = new File(date.get(Calendar.YEAR) + File.separator + (date.get(Calendar.MONTH)+1));

// 新文件

File newFile = new File(rootPath + File.separator + dateDirs + File.separator + newFileName);

// 判断目标文件所在目录是否存在

if( !newFile.getParentFile().exists()) {

// 如果目标文件所在的目录不存在,则创建父目录

newFile.getParentFile().mkdirs();

}

System.out.println(newFile);

// 将内存中的数据写入磁盘

file.transferTo(newFile);

// 完整的url

String fileUrl = date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH)+1) + "/" + newFileName;

return fileUrl;

}

}

点击提交,如果显示图片地址,这时候可以看到项目目录\src\main\webapp下新增resources文件夹,里面存放了刚刚上传的图片,至此上传功能实现完毕

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值