文件上传
<form action="/uploadFile.do" method="post" enctype="multipart/form-data">
<input type="file" name="file">
</form>
@RequestMapping("uploadFile.do")
public void uploadFile(MultipartFile file){
String oldFileName = file.getOriginalFilename();
String suffixName = oldName.subString(oldName.lastIndexOf(".")+1);
String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();
String newFileName = uuid + suffixName;
this.upload(file,newFileName);
}
public void upload(MultipartFile file,String newFileName){
String filePath = R.PicUrl.URL(R.PicEnum.eighteen) + newFileName;
File saveDir = new File(filePath);
if (!saveDir.getParentFile().exists())
saveDir.getParentFile().mkdirs();
file.transferTo(saveDir);
}
MultipartFile常用方法
MultipartFile.getOriginalFilename():IMEI_20171204.jpg
MultipartFile.getContentType():image/jpeg
MultipartFile.getName():file
MultipartFile.getSize():27128
MultipartFile.isEmpty():false
File使用辨析
File file1 = new File(String pathname);;
File file2 = new File(String parent,String pathname);
File file3 = new File(File parent,String pathname)
Boolean b1 = file.mkdir();
Boolean b2 = file.mkdirs();
Boolean b3 = file.createNewFile();
mkdir()和mkdirs()的区别
mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下:
new File("/tmp/one/two/three").mkdirs();
new File("/tmp/one/two/three").mkdir();
getParentFile()和getParent()的区别
File file = getParentFile()的返回值是File型的。
String file = getParent() 的返回值是String型的。