小白:Spring MVC輕鬆實現上傳文件功能,看了一定不後悔喲

最近有朋友問我spring mvc 項目如何實現文件的上傳,今天我整理了一下具體的過程與大家分享一下。

小白:Spring MVC輕鬆實現上傳文件功能,看了一定不後悔喲

首先在做上傳文件功能時,你必須要有一個建立完畢的Spring MVC項目。我用的Spring MVC的HelloWord工程來示例,當然如何大家有項目可以直接用在項目上。

上傳單個文件

步驟如下:

1、在前端控制器配置文件(本項目所取的名字是:spring-mvc-servlet.xml)中加入上傳文件所需的Bean。

<bean>

<property>

<property>

<property>

2、在pom.xml中注入上傳文件所需的依賴

<dependency>

<groupid>commons-fileupload/<groupid>

<artifactid>commons-fileupload/<artifactid>

<version>1.3.1/<version>

3、在項目views文件夾(項目中裝頁面的文件夾)下新建一個上傳單個文件的頁面

<title>上傳單個文件示例/<title>

<link>

上傳附件

這裡要注意以下幾點:

(1)form表單提交的類型一定要加上enctype="multipart/form-data",表示不對所提交的內容編碼。

(2)action="" 路徑中前面要加項目名,這裡項目名是HelloSpringMVC。

(3)doUpload是本表單所提交的對應的處理方法。名為doUpload。

(4)input節點的name="file"中的file與doUpload方法所接收的參數名稱一致。

4、定義訪問成功的頁面

pageEncoding="UTF-8"%>

<link>

<title>上傳文件成功頁面/<title>

Success

5、在Controller類中加入訪問入口方法(就是定位到上傳單個文件的頁面)

//定位到上傳單個文件界面 /hello/upload

@RequestMapping(value="/upload", method=RequestMethod.GET)

public String showUploadPage(){

return "uploadFile"; //view文件夾下的上傳單個文件的頁面

}

6、在Controller類中定義上傳文件的響應方法(就是表單中的所提交的action中的方法名)

/**

* 上傳單個文件操作

* @param RequestParam 括號中的參數名file和表單的input節點的name屬性值一致

* @return

*/

@RequestMapping(value="/doUpload", method=RequestMethod.POST)

public String doUploadFile(@RequestParam("file") MultipartFile file){

if(!file.isEmpty()){

try {

//這裡將上傳得到的文件保存至 d:\\temp\\file 目錄

FileUtils.copyInputStreamToFile(file.getInputStream(), new File("d:\\temp\\file\",

System.currentTimeMillis()+ file.getOriginalFilename()));

} catch (IOException e) {

e.printStackTrace();

}

}

return "success"; //上傳成功則跳轉至此success.jsp頁面

}

7、運行驗證:

小白:Spring MVC輕鬆實現上傳文件功能,看了一定不後悔喲

上傳界面

小白:Spring MVC輕鬆實現上傳文件功能,看了一定不後悔喲

成功界面

小白:Spring MVC輕鬆實現上傳文件功能,看了一定不後悔喲

成功後圖片存放的位置

上傳多個文件的下次再和大家分享。


分享到:


相關文章: