ssm框架文件上传
有两种方法
导包和上传配置自己搞;
第一种:
上传单个文件:
@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框架文件上传的更多相关文章
- SSH,SSM框架文件上传
一.了解文件上传 1.1 什么是文件上传 将本地文件通过流的形式写到服务器上 1.2 文件上传的技术 JspSmartUpload: 其组件是应用jsp进行B/S程序开发过 ...
- 文件上传—SSM框架文件上传
1.准备上传下载的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>common ...
- ssh框架文件上传下载
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 第二百七十三节,Tornado框架-文件上传
Tornado框架-文件上传 第一.普通表单上传文件 self.request.files["fafafa"] 获取上传文件信息,参数["上传文件框的name名称&quo ...
- tp框架-----文件上传
之前也做过文件上传,现在学了tp,用tp怎么做呢? 第一步:做一个Wenjian控制器: <?php namespace Ceshi\Controller; use Think\Controll ...
- 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 ...
- SSM实现文件上传
1.导入上传需要的jar包 commons-fileupload-1.3.3.jar commons-io-2.6.jar 2.创建 index.jsp <%@ page contentType ...
- Android采取async框架文件上传
页面效果 须要的权限 <uses-permission android:name="android.permission.INTERNET"/> 网络訪问权限; 布局文 ...
- 文件上传—SSH框架文件上传
1.准备上传的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>commons- ...
随机推荐
- 贪心——Prim算法(避圈法)
1.简介 Prim算法是图论中的一种算法,可在带权连通图里搜索产生最小生成树. 该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(Vojtěch Jarník)发现:并在1957年由美国计算机科学家罗 ...
- AHOI2005航线规划 bzoj1969(LCT缩点)
题目描述 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系. 星际空间站的Samuel II巨型计算 ...
- Python爬取LOL英雄皮肤
Python爬取LOL英雄皮肤 Python 爬虫 一 实现分析 在官网上找到英雄皮肤的真实链接,查看多个后发现前缀相同,后面对应为英雄的ID和皮肤的ID,皮肤的ID从00开始顺序递增,而英雄ID跟 ...
- L2-2 小字辈 (25 分)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...
- linux普通用户免秘钥登录(xshell工具环境)
一.xshell生成密钥 1)工具->新建用户密钥生成向导 2)选择密钥类型.密钥长度(默认即可) 3)生成密钥(生成公钥和私钥) 4)为密钥加密,增加密码(可选),建议加上 5)将公钥保存为文 ...
- SQL chema的新增和修改
1.先要创建你自己的schema create schema myschema 2. alter schema myschema transfer ado.User --执行完后,User表就 ...
- .Net C# 泛型序列化和反序列化JavaScriptSerializer
项目添加引用System.Web.Extensions /// <summary> /// 泛型序列化 /// </summary> public class JsonHelp ...
- ORA-24247:网络访问被访问控制列表(ACL)拒绝
今天将一个发送数据库监控邮件的procedure 从10g 迁移到11g,不工作了.处理记录如下: 在Oracle11g中,Oracle在安全方面有了很多的改进,而在网络权限控制方面,也有一个新的概念 ...
- Net操作Excel,不依赖服务器端环境配置(终极方法NPOI)转。
这是起因,为什么会需要用到这个,主要是分析了一下为什么从oledb那个方式换成这个方式.文章见链接 http://www.cnblogs.com/Jerseyblog/p/6410703.html 前 ...
- 前端中用到的图片(png图片)
作为前端工程师,将设计师的设计稿转化为html页面,其中有一个必不可少的环节就是将psd文件中的一些图片随心所欲的使用,而我们经常用到的就是png图片. 第一部分:基本介绍 首先我们先对比几种图片: ...