nginx代理圖片上傳以及訪問 nginx 圖片上傳完整版


nginx代理圖片上傳

首先需要利用nginx代理圖片訪問參考

https://www.cnblogs.com/TJ21/p/12609017.html

編寫接受文件的controller

 1 @PostMapping("image")
 2     public ResponseEntity<String> uploadImage(MultipartFile file){
 3 
 4         String url = null;
 5         try {
 6             url = uploadService.uploadImages(file);
 7         } catch (IOException e) {
 8             e.printStackTrace();
 9         }
10         if (StringUtils.isBlank(url)){
11             return ResponseEntity.status(HttpStatus.CREATED).build();
12         }
13 
14         return ResponseEntity.ok(url);
15     }

編寫上傳文件的service

白名單參照:

https://tool.oschina.net/commons

 1  //創建文件上傳類型白名單
 2     private static final List<String> CONTENT_TYPE = Arrays.asList("image/jpeg", "image/gif");
 3     //創建日志常量對象
 4     private static final Logger LOGGER = LoggerFactory.getLogger(UploadServiceImpl.class);
 5 
 6     /**
 7      * 文件上傳方法
 8      *
 9      * @param file
10      * @return
11      */
12     @Override
13     public String uploadImages(MultipartFile file) {
14 
15         //判斷是否為圖片文件
16         //獲取文件名
17         String originalFilename = file.getOriginalFilename();
18         //獲取文件上傳類型
19         String contentType = file.getContentType();
20         //判斷是否為白名單中的類型
21         if (!CONTENT_TYPE.contains(contentType)) {
22             //輸出日志為什么錯誤1.創建日志常量2.輸出原因
23             LOGGER.info("文件類型不合法 {}", originalFilename);
24             return null;
25         }
26         //判斷文件內容
27         try {
28             BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
29             if (bufferedImage != null) {
30                 //保存
31                 file.transferTo(new File("E:\\image\\" + originalFilename));
32             }
33         //返回訪問路徑
34             return "http://image.leyou.com/" + originalFilename;
35         } catch (IOException e) {
36             e.printStackTrace();
37         }
38         return null;
39     }    

測試上傳文件-->此處使用Advanced Rest Application測試

 

用返回路徑測試是否可以訪問當前上傳的圖片

http://image.leyou.com/IMG_20180614_134202.jpg

訪問成功

 


免責聲明!

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



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