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(比较简陋,仅用于测试是否上传成功)
代码目录如下:
代码如下:
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框架下实现文件上传相关推荐
- linux怎么在目录下查找文件,linux find-在指定目录下查找文件
find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进 ...
- 递归遍历文件及子文件夹下的文件(该代码是复制过来修改过的,如果有侵作者权的话,请作者联系我,立即删除)...
调用: ListFiles(new DirectoryInfo(source)); /// <summary>/// //递归遍历所有文件包括子文件夹下的文件 并对word excel p ...
- CopyFile复制单个文件和复制指定路径下所有文件
CopyFile复制单个文件和复制指定路径下所有文件 1.CopyFile复制单个文件 2.CopyFile复制指定路径下所有文件 1.CopyFile复制单个文件 原型: BOOL CopyFile ...
- java struts2上传文件_java Struts2框架下实现文件上传功能
本文实例为大家分享了struts2框架实现文件上传的方法,供大家参考,具体内容如下 struts2的配置过程 (1)在项目中加入jar包 (2)web.xml中filter(过滤器)的配置 xmlns ...
- ssm框架下的文件上传和下载
ssm下的文件上传和下载 1. 文件上传 1.1 文件上传需要的依赖 文件上传需要使用到 commons-fileupload 和 commons-io 两个 jar 包. <dependenc ...
- ssm上传文件进度条_SSM框架+Plupload实现分块上传大文件示例
关于Plupload的介绍,相信它的官网http://www.plupload.com/已经给得很详细了.Plupload的上传原理简单点说,就是将用户选中的文件(可多个)分隔成一个个小块,依次向服务 ...
- 【Windows C++】调用powershell上传指定目录下所有文件
上周写的一个恶意代码片段,功能为: C++实现读取"C:\Users\thinkycx\.ssh\"目录下所有文件(不包括子文件夹),使用getProcessAddress获取sy ...
- java resource file_Java 获取Resource目录下的文件解决办法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java 获取Resource目录下的 文件 有两种方式: Java代码中的类,要获取Resource资源 文件目录 下文件 绝对路径寻址 注意这个 / ...
- java mybatis狂神说sql_Mybatis 框架下 SQL 注入攻击的 3 种方式,真是防不胜防!
前言 SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少. 新手代码审计者往往对Java Web应用的多个框架组合而心生畏惧,不知如何下手 ...
最新文章
- vue获取dom元素注意问题
- linux 结构体 struct addrinfo 简介
- 应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序
- 三层架构和MVC一样吗?(区别)
- 仿京东左侧菜单弹出html代码,相仿京东左侧菜单
- pymongo查询列表元素_散列表:如何实现word编辑器的拼写检查?
- Visual Studio Code 开发 .NET Core 看这篇就够了
- 一份北大信科内部流传的 “CS 自救指南”
- css布局Absolute的垂直水平居中
- ARINC429总线基础
- linux中 zip命令将整个目录打成zip包
- 盘点几个在手机上可以用来学习编程的软件
- pyqt5 selenium 等待元素出现 visibility_of_element_located
- 2020年每个Web开发人员必须知道的9种Web技术
- axis调用java实现webservice实例
- 十六. 项目干系人管理
- 语音对讲功能在车载监控系统中的应用意义
- 超融合服务器是什么?和超融合一体机什么区别?
- 江苏省工程训练赛--物料搬运小车(附代码)
- Hadoop安装 搭建
热门文章
- ckks方案优化最好的_果断收藏:SEO高级优化技能升级策略!
- 用shell获取mysql主从状态_shell监控MySQL主从状态脚本两则
- pb 执行存储过程带参数_数据库存储过程
- python3.4.4怎么用_python3.4使用文件
- docker 导入导出镜像
- spring 通过EsClientFactory注入elasticsearch
- 最真实的办公自动化案例!
- 知乎:国家何时整治程序员的高薪现象?
- 『 申请地址 』阿里云网盘限时开放内测申请!
- python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)