有两种方法

导包和上传配置自己搞;

第一种:

上传单个文件:

@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. “全栈2019”Java第三十一章:二维数组和多维数组详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  2. JS关闭页面弹窗提醒

    <html> <head><title>JS测试</title> <script type="text/javascript" ...

  3. codis__数据迁移和伸缩容

    数据迁移命令 注意点:是迁移到某个 redis-group 而不是某个redis-servers  实例 伸缩容用法 redis 内存等不够用时 增容 : 增加redis-group, 然后迁移使用上 ...

  4. jmeter压力测试值之配置JDBC Connection Configuration(一)

    一.下载mysql jar包 下载mysql jar包 http://dev.mysql.com/downloads/connector/j/ 网盘下载地址:mysql-connector-java- ...

  5. JMessage Android 端开发详解

    目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能. 首先,一个最基础的 IM 应用会需要有哪些功能? 用户注册 / 登 ...

  6. NSUserDefault存储类

    类要实现NSCoding协议 实现encodeWithCoder和initWithCoder方法 先把类的instance archive成NSData,然后存起来 TGTest *tt = [TGT ...

  7. python2-url编解码

    #coding:utf-8import urllibs={"username":"hhh","password":"XXXX&qu ...

  8. struts2的优缺点

    Struts2框架10个优点:1.可以用任何POJO(存粹的java类)来接收表单输入.可以把POJO视为一个Action类 Action类:获得Form表单数据,并处理逻辑的类: DAO类:进行数据 ...

  9. Bootrap 项目实战(微金所前端首页)第三部分(CSS,js源码)

    CSS源码 common.css /** *Created by xxc on 2019/2/26 */ body, html, div, img, a, p, ul, ol, dl, dd, dt, ...

  10. 三种简单的html网页自动跳转方法

    三种简单的html网页自动跳转方法,可以让你在打开一个html网页时自动跳转到其它的页面. 方法/步骤   <html> <head> <title>正在跳转< ...