Bootstrap FileInput
参数https://blog.csdn.net/u012526194/article/details/69937741
下载地址
http://www.jq22.com/jquery-info5231
单个图片上传
public void doUploadFile(@RequestParam("file") MultipartFile file){
if(!file.isEmpty()){
try {
//这里将上传得到的文件保存目录
FileUtils.copyInputStreamToFile(file.getInputStream(), new File("E:\\temp",file.getOriginalFilename()));
//System.currentTimeMillis()+ file.getOriginalFilename()));
System.out.println(file.getOriginalFilename()+"222");
} catch (IOException e) {
e.printStackTrace();
}
}
}
多个图片
package com.air.controller;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
public class UploadFileUtils {
/**
* 将上传的图片保存到本地f盘的工具类。
* 原名称
* @param request 请求
* @param file 文件
* @param
* @return 完整文件路径
*/
public static String uploadImage(MultipartHttpServletRequest request, MultipartFile file) {
String rootUrl="F"+"://"+"plantpictureurl/";//根目录,
//上传
try {
String[] typeImg={"png","jpg"};
if(file!=null){
String origName=file.getOriginalFilename();// 文件原名称
System.out.println("上传的文件原名称:"+origName);
//存放图片文件的路径
String fileSrc="";
try{
File uploadedFile = new File(rootUrl+"//"+origName);
System.out.println("upload==="+rootUrl);
OutputStream os = new FileOutputStream(uploadedFile);
InputStream is =file.getInputStream();
byte buf[] = new byte[1024];//可以修改 1024 以提高读取速度
int length = 0;
while( (length = is.read(buf)) > 0 ){
os.write(buf, 0, length);
}
//关闭流
os.flush();
is.close();
os.close();
fileSrc=origName+"#";
System.out.println("保存成功!路径:"+rootUrl+"/"+origName);
}catch(Exception e){
e.printStackTrace();
}
return fileSrc;
}
return null;
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
public String addFishPic(int id, MultipartHttpServletRequest request, @RequestParam MultipartFile[] fish_file){
try{
if(fish_file!=null&& fish_file.length>0){
//组合image名称,“#隔开”
String pictureurl =""; //用来接收拼接各个图片的名字,并保存到数据库。
for(int i=0;i<fish_file.length;i++){
if(!fish_file[i].isEmpty()){
pictureurl=pictureurl+UploadFileUtils.uploadImage(request,fish_file[i]);
}
}
//上传成功
if(pictureurl!=null&&pictureurl.length()>0){
System.out.println("上传成功!"+pictureurl); //
//this.animalContentImp.updateFishPicture(id,pictureurl);
}else {
System.out.println("上传失败!");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return "0";
}
/**
* 文件下载功能
* @param request
* @param response
* @throws Exception
*/
@RequestMapping("down.do")
@ResponseBody
public void down(HttpServletRequest request,HttpServletResponse response) throws Exception{
//下载路径+文件
String fileName = "E:\\temp\\1524478936840295804.jpg";
//获取输入流
InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));
//假如以中文名下载的话 重命名下载后的名字
String filename = "下载文件.jpg";
//转码,免得文件名中文乱码
filename = URLEncoder.encode(filename,"UTF-8");
//设置文件下载头
response.addHeader("Content-Disposition", "attachment;filename=" + filename);
//1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
response.setContentType("multipart/form-data");
BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
int len = 0;
while((len = bis.read()) != -1){
out.write(len);
out.flush();
}
out.close();
bis.close();
}
ajax 异步提交
https://blog.csdn.net/qq_21119773/article/details/52105480
jquery.form.js
https://www.cnblogs.com/LeoBoy/p/5831302.html