1。文件的上传直接上代码。
MultipartFile files=file.getFile();
boolean bol=true;
if(files.isEmpty()){
bol= false;
}
String name=files.getOriginalFilename();
name=name.substring(name.indexOf("."));
name=UUID.randomUUID().toString().replaceAll("-", "")+name;
int Size= (int) files.getSize();
System.out.println(name + "-->" + Size);
String path="D:/File";
File f=new File(path+"/"+name);
if(!f.getParentFile().exists()){
f.getParentFile().mkdir();
}
try {
files.transferTo(f); //保存文件
bol= true;
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
bol= false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
bol= false;
}
2.批量的文件上传
@RequestMapping("download")
public String downLoad(HttpServletResponse response) throws UnsupportedEncodingException {
String filename="报名照片.jpg";
String filePath = "D:/NewFile" ;
File file = new File(filePath + "/" + filename);
if(file.exists()){ //判断文件父目录是否存在
response.setContentType("application/force-download");
response.setHeader("Content-Disposition", "attachment;fileName=" + new String("报名照片.jpg".getBytes("gb2312"),"ISO_8859_1"));
byte[] buffer = new byte[1024];
FileInputStream fis = null; //文件输入流
BufferedInputStream bis = null;
OutputStream os = null; //输出流
try {
os = response.getOutputStream();
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
int i = bis.read(buffer);
while(i != -1){
os.write(buffer);
i = bis.read(buffer);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("----------file download" + filename);
try {
bis.close();
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
3.文件的下载
File file =new File(path);
try {
response.setCharacterEncoding("UTF-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes(), "ISO-8859-1"));
//打开本地文件流
InputStream inputStream = new FileInputStream(path);
//激活下载操作
OutputStream os = response.getOutputStream();
//循环写入输出流
byte[] b = new byte[2048];
int length;
while ((length = inputStream.read(b)) > 0) {
os.write(b, 0, length);
}
// 这里主要关闭。
os.close();
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}