springboot上传图片
生活随笔
收集整理的這篇文章主要介紹了
springboot上传图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
話不多說,直接上代碼
第一步: 先創建controller : UploadFileController
import gl.com.gugong.util.FileNameUtil; import gl.com.gugong.util.Result; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest; import java.io.File; import java.util.Arrays;@RequestMapping("file") @RestController public class UploadFileController {//文件擴展名校驗private String arrsuffix[] = {"PNG","JPG","JPEG","BMP","GIF","SVG"};@Value("${file.path}")private String uploadPath;@RequestMapping(value = "/upload")public Result upload(@RequestParam("file") MultipartFile file, HttpServletRequest request) {try {if (file.isEmpty()) {return Result.error("上傳圖片服務器內容為空");} else {String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);if (!Arrays.asList(arrsuffix).contains(suffix.toUpperCase())) {return Result.error("請選擇正確格式的文件");}//獲取文件名稱String filenameup = file.getOriginalFilename();//定義要上傳文件 的存放路徑String localPath = uploadPath + "/";filenameup = FileNameUtil.getFileName(filenameup);File dest = new File(localPath,filenameup);if (!dest.exists()) {dest.mkdirs();}file.transferTo(dest);//拷貝文件到指定路徑儲存return Result.success(filenameup);}} catch (Exception e) {e.printStackTrace();}// 返回return Result.error("未知錯誤導致上傳失敗");} }第二步創建獲取隨機名的util :FileNameUtil
import cn.hutool.core.util.IdUtil;public class FileNameUtil {/*** 獲取文件后綴* @param fileName* @return*/public static String getSuffix(String fileName){return fileName.substring(fileName.lastIndexOf("."));}/*** 生成新的文件名* @param fileOriginName 源文件名* @return*/public static String getFileName(String fileOriginName){return IdUtil.simpleUUID() + FileNameUtil.getSuffix(fileOriginName);} }來看下yml配置文件:
file.path 生產環境的時候配置Linux要上傳的地址即可
spring.resources.static-locations: 這是訪問圖片使用的,訪問圖片時 ip+端口+圖片名稱(上傳時生成的隨機名稱)就可以訪問到圖片
補充: 需要添加配置
<!--靜態資源訪問--> <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId> </dependency>總結
以上是生活随笔為你收集整理的springboot上传图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 同步linux软件源,linux 双向同
- 下一篇: 构造地质学类毕业论文文献包含哪些?