spring mvc 實現文件上傳


例:用戶注冊提交一個頭像文件

第一步,創建項目 ,導入jar包
做文件上傳除了要導入spring常規的jar包外,還要導入commons-fifileupload和commons-io這兩個jar包。
第二步,web.xml中聲明spring的核心監聽器 ,spring mvc的前端控制器
第三步,創建spring和spring mvc的主配置文件
第四步,創建包和類
    1.創建用戶實體類
  2.創建控制器
package com.aaa.springmvc.controller;
import com.aaa.springmvc.entity.Users;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
/**
*
*/
@Controller
public class UserController {
/**
* 用戶注冊的請求
* @param user
* @return
*/
@RequestMapping("/register")
public String register(Users user, MultipartFile file){
//獲取文件的真實文件名
String trueName = file.getOriginalFilename();
System.out.println("真實文件名:"+trueName);
//獲取文件的大小
Long size = file.getSize();
System.out.println("文件大小(字節):"+size);
//需要把file文件存儲到本地磁盤上
String DIR = "D:/upload/";
//保存的時候不能保存真實文件名,可以使用一種機制生成唯一的文件名
//UUID類是用來獲取32位的固定長度的隨機字符串,每次獲取到的字符串永遠不會重復。
String saveName = UUID.randomUUID().toString();
//創建要保存的文件
File newFile = new File(DIR+saveName);
//把臨時文件file轉儲到newFile上
try {
file.transferTo(newFile);
} catch (IOException e) {
e.printStackTrace();
}
user.setTrueName(trueName);
user.setSaveName(saveName);
System.out.println("用戶名:"+user.getUsername());
System.out.println("密碼:"+user.getPassword());
return "redirect:/login.jsp";
}
public static void main(String[] args) {
String str = UUID.randomUUID().toString();
System.out.println(str);
str = UUID.randomUUID().toString();
System.out.println(str);
}
}
第五步,掃描控制器的包
第六步,在spring mvc主配置文件中配置上傳文件的解析器
第七步,寫注冊界面
  注冊成功之后要跳轉到登錄界面,創建登錄界面。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM