有两种方法

导包和上传配置自己搞;

第一种:

上传单个文件:

@RequestMapping("/addfile1")
public String addfile(@RequestParam("file")MultipartFile file)throws Exception{
String path="E:/idea/_1111/src/main/webapp/statics";
String newfile=FilenameUtils.concat(path,file.getOriginalFilename());
file.transferTo(new File(newfile));
return "inputfile";

这个方法的有点就是简单快速,但缺点就是不能更改上传的文件名。原理是直接把文件改变一个储存位置。

第二种:

上传单个文件

 @RequestMapping("/addfile")
public String addfile(@RequestParam("file")MultipartFile file, Model model)throws Exception{
String path="E:/idea/_1111/src/main/webapp/statics";
File updatefile=new File(path);
if (!updatefile.exists()){
updatefile.mkdir();
}
String filename=file.getOriginalFilename();
int intt=filename.lastIndexOf(".");
String str=filename.substring(intt);
String newfilename= UUID.randomUUID()+str;
newfilename=newfilename.replace("-","");
OutputStream out=new FileOutputStream(new File(path+File.separator+newfilename));
InputStream input=file.getInputStream();
byte [] b=new byte[1024];
int len=0;
int temn=0;
while ((temn=input.read())!=-1){
out.write(b,0,temn);
}
out.close();
input.close(); return "inputfile";
}

这种方法是把旧文件读出再写入新文件,再更改一下文件名,使用UUID伪随机。

上传多个文件

@RequestMapping("/addfile")
public String addfile(@RequestParam("file")MultipartFile files[], Model model)throws Exception{
String path="E:/idea/_1111/src/main/webapp/statics";
File updatefile=new File(path);
if (!updatefile.exists()){
updatefile.mkdir();
}
List<String> lii=new ArrayList<String>();
for(int i=0;i<files.length;i++) {
String filename = files[i].getOriginalFilename();
int intt = filename.lastIndexOf(".");
String str = filename.substring(intt);
String newfilename = UUID.randomUUID() + str;
newfilename = newfilename.replace("-", ""); OutputStream out = new FileOutputStream(new File(path + File.separator + newfilename));
InputStream input = files[i].getInputStream();
byte[] b = new byte[1024];
int temn = 0;
while ((temn = input.read(b)) != -1) {
out.write(b, 0, temn);
}
out.close();
input.close();
lii.add(newfilename);
}
model.addAttribute("file",lii); return "inputfile"; }

可以插入多个文件。用一个file数组接收。

ssm框架文件上传的更多相关文章

  1. SSH,SSM框架文件上传

    一.了解文件上传 1.1        什么是文件上传 将本地文件通过流的形式写到服务器上 1.2        文件上传的技术 JspSmartUpload: 其组件是应用jsp进行B/S程序开发过 ...

  2. 文件上传—SSM框架文件上传

    1.准备上传下载的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>common ...

  3. ssh框架文件上传下载

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 第二百七十三节,Tornado框架-文件上传

    Tornado框架-文件上传 第一.普通表单上传文件 self.request.files["fafafa"] 获取上传文件信息,参数["上传文件框的name名称&quo ...

  5. tp框架-----文件上传

    之前也做过文件上传,现在学了tp,用tp怎么做呢? 第一步:做一个Wenjian控制器: <?php namespace Ceshi\Controller; use Think\Controll ...

  6. tp 框架 -文件上传

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?ph ...

  7. SSM实现文件上传

    1.导入上传需要的jar包 commons-fileupload-1.3.3.jar commons-io-2.6.jar 2.创建 index.jsp <%@ page contentType ...

  8. Android采取async框架文件上传

    页面效果 须要的权限 <uses-permission android:name="android.permission.INTERNET"/> 网络訪问权限; 布局文 ...

  9. 文件上传—SSH框架文件上传

    1.准备上传的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>commons- ...

随机推荐

  1. WEB新手之签到题

    写一写web新手赛的题. 这是签到题,开始时需要耐心等待页面中字母全部出现. 字母全部出现后,会跳转到另一个界面,如上图所示.F12没什么特别的地方,这题应该有点难度. 按往常一样,先抓包. 按英文提 ...

  2. PHP删除一个目录下的所有文件,不删除文件夹

    /*删除指定目录下的文件,不删除目录文件夹*/ function delFile($dirName){ if(file_exists($dirName) && $handle=open ...

  3. PHP中预定义超全局数组(变量)

    PHP中许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用.超全局变量除了具有全局变量特点外,在函数或方法中无需执行global $variable:就可以访问它们. 提供超全 ...

  4. CRC循环冗余校验算法

    现实中通信链路都不会是理想的,比特在传输的过程中可能会出现差错,0变成1,1变成0.这就叫做比特差错.因此为了保证数据传输的可靠性,在计算网络传输数据时,必须采用各种检验措施来处理比特差错.在数据链路 ...

  5. [ActionScript 3.0] 正则表达式

    正则表达式: 正则表达式最早是由数学家Stephen Kleene在对自然语言的递增研究成果的基础上,于1956提出来的.具有完整语法的正则表达式,主要使用在字符串的格式的匹配方面上,后来也逐渐应用到 ...

  6. SpringMVC 的初理解

    项目中用到了jetty,springboot两种构建服务器的方式,jetty是一种嵌入式的方式,部署启动都很灵活,springboot最大的优点就是很多配置文件都自己集成好了,虽然用了这么多好的框架, ...

  7. 调试K3网页版需要注意的问题

    1.BIN目录下不能存放类名相同的多个文件,即使修改了dll名称也不可以,必须保持唯一性,多余的备份到其他目录 2.引用的标准dll集合需要与当前运行程序的标准dll集合保持一致,可以通过修改引用路径 ...

  8. 九校联考(DL24凉心模拟) 整除(中国剩余定理+原根性质)

    题意简述 给定 \(n, m\),求 \(n|x^m - x\) 在满足 \(x \in [1, n]\) 时合法的 \(x\) 的数量.答案模 \(998244353\).单个测试点包含多组数据. ...

  9. HDU5558(后缀自动机~在本串中找前一最长子相同串)

    http://acm.hdu.edu.cn/showproblem.php?pid=5558 题意: 当前的位置是 i , 就找到 s1 = ( 以i为起点到 len 的连续串 ) , s2=( 在 ...

  10. plsql起别名出现???乱码,需要配置环境变量

    NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK