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(比较简陋,仅用于测试是否上传成功)

代码目录如下:

代码如下:

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文件夹,里面存放了刚刚上传的图片,至此上传功能实现完毕

java 文件上传ssm_ssm框架下实现文件上传相关推荐

  1. linux怎么在目录下查找文件,linux find-在指定目录下查找文件

    find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进 ...

  2. 递归遍历文件及子文件夹下的文件(该代码是复制过来修改过的,如果有侵作者权的话,请作者联系我,立即删除)...

    调用: ListFiles(new DirectoryInfo(source)); /// <summary>/// //递归遍历所有文件包括子文件夹下的文件 并对word excel p ...

  3. CopyFile复制单个文件和复制指定路径下所有文件

    CopyFile复制单个文件和复制指定路径下所有文件 1.CopyFile复制单个文件 2.CopyFile复制指定路径下所有文件 1.CopyFile复制单个文件 原型: BOOL CopyFile ...

  4. java struts2上传文件_java Struts2框架下实现文件上传功能

    本文实例为大家分享了struts2框架实现文件上传的方法,供大家参考,具体内容如下 struts2的配置过程 (1)在项目中加入jar包 (2)web.xml中filter(过滤器)的配置 xmlns ...

  5. ssm框架下的文件上传和下载

    ssm下的文件上传和下载 1. 文件上传 1.1 文件上传需要的依赖 文件上传需要使用到 commons-fileupload 和 commons-io 两个 jar 包. <dependenc ...

  6. ssm上传文件进度条_SSM框架+Plupload实现分块上传大文件示例

    关于Plupload的介绍,相信它的官网http://www.plupload.com/已经给得很详细了.Plupload的上传原理简单点说,就是将用户选中的文件(可多个)分隔成一个个小块,依次向服务 ...

  7. 【Windows C++】调用powershell上传指定目录下所有文件

    上周写的一个恶意代码片段,功能为: C++实现读取"C:\Users\thinkycx\.ssh\"目录下所有文件(不包括子文件夹),使用getProcessAddress获取sy ...

  8. java resource file_Java 获取Resource目录下的文件解决办法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java 获取Resource目录下的 文件 有两种方式: Java代码中的类,要获取Resource资源 文件目录 下文件 绝对路径寻址 注意这个 / ...

  9. java mybatis狂神说sql_Mybatis 框架下 SQL 注入攻击的 3 种方式,真是防不胜防!

    前言 SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少. 新手代码审计者往往对Java Web应用的多个框架组合而心生畏惧,不知如何下手 ...

最新文章

  1. vue获取dom元素注意问题
  2. linux 结构体 struct addrinfo 简介
  3. 应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序
  4. 三层架构和MVC一样吗?(区别)
  5. 仿京东左侧菜单弹出html代码,相仿京东左侧菜单
  6. pymongo查询列表元素_散列表:如何实现word编辑器的拼写检查?
  7. Visual Studio Code 开发 .NET Core 看这篇就够了
  8. 一份北大信科内部流传的 “CS 自救指南”
  9. css布局Absolute的垂直水平居中
  10. ARINC429总线基础
  11. linux中 zip命令将整个目录打成zip包
  12. 盘点几个在手机上可以用来学习编程的软件
  13. pyqt5 selenium 等待元素出现 visibility_of_element_located
  14. 2020年每个Web开发人员必须知道的9种Web技术
  15. axis调用java实现webservice实例
  16. 十六. 项目干系人管理
  17. 语音对讲功能在车载监控系统中的应用意义
  18. 超融合服务器是什么?和超融合一体机什么区别?
  19. 江苏省工程训练赛--物料搬运小车(附代码)
  20. Hadoop安装 搭建

热门文章

  1. ckks方案优化最好的_果断收藏:SEO高级优化技能升级策略!
  2. 用shell获取mysql主从状态_shell监控MySQL主从状态脚本两则
  3. pb 执行存储过程带参数_数据库存储过程
  4. python3.4.4怎么用_python3.4使用文件
  5. docker 导入导出镜像
  6. spring 通过EsClientFactory注入elasticsearch
  7. 最真实的办公自动化案例!
  8. 知乎:国家何时整治程序员的高薪现象?
  9. 『 申请地址 』阿里云网盘限时开放内测申请!
  10. python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)