關於Spring boot 文件上傳的文件

直接上代碼

/**

* 1.文件保存在服務器,url地址保存在數據庫
* 上傳成功之後返回成功保存的url地址
*/
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public JSONObject upload(@RequestParam("file") MultipartFile file) {
 JSONObject jsonObject = new JSONObject();
    try {

if (file.isEmpty()) {
System.out.println("上傳的文件爲空!");
           jsonObject.put("msg","文件爲空");
        }
// 文件名
String fileName = file.getOriginalFilename();
// 獲取文件後綴名
String extension = fileName.substring(fileName.indexOf("."));
// 上傳文件的路徑
String uploadFolder = "C:/home/upload/";
// 生成一個新的文件名
fileName = UUID.randomUUID() + extension;
File dest = new File(uploadFolder + fileName);
// 檢測文件目錄是否存在 不存在則創建
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
try {
file.transferTo(dest);
} catch (IOException e) {
e.printStackTrace();

}
// 返回虛擬文件訪問路徑
jsonObject.put("fileName",fileName);
jsonObject.put("url","127.0.0.1:8080"+"/項目名稱/upload/"+fileName);

    }
catch (Exception ex)
{
System.out.println("文件爲空");
       jsonObject.put("msg","文件爲空");
    }
   return jsonObject ;
}

/**
* @Description: 上傳文件路徑映射
* @UpdateRemark: 修改內容
* @Version: 1.0
*/
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class UploadConfig implements WebMvcConfigurer {



/**
* 映射文件路徑
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/upload/**")
.addResourceLocations("file:"+"C:/home/upload/");
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章