1. 程式人生 > >Springmvc上傳檔案

Springmvc上傳檔案

SpringMVC上傳檔案

<!-- 頁面檔案上傳三要素 -->
<form action="/uploadFile.do" method="post" enctype="multipart/form-data">
	<input type="file" name="file">
</form>
//Controller
@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 //表單中檔案元件對應name值 MultipartFile.getSize():27128 //檔案大小單位為k MultipartFile.isEmpty():false //檔案是否為空

File使用辨析

//構造方法	目的:為了關聯目錄或檔案,生成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();//mkdir()是建立一個不存在的目錄,是建立本級目錄!!!不是建立下一級目錄!!!
Boolean b2 = file.mkdirs();
Boolean b3 = file.createNewFile();//建立檔案

mkdir()和mkdirs()的區別

mkdirs()可以建立多級資料夾, mkdir()只會建立一級的資料夾, 如下:

new File("/tmp/one/two/three").mkdirs();
//執行後, 會建立tmp/one/two/three四級目錄
new File("/tmp/one/two/three").mkdir();
//則不會建立任何目錄, 因為找不到/tmp/one/two目錄, 結果返回false

getParentFile()和getParent()的區別

File file = getParentFile()的返回值是File型的。
String file = getParent() 的返回值是String型的。
//當需要呼叫File類方法時,則採用第一種