nginx代理图片上传

首先需要利用nginx代理图片访问参考

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

编写接受文件的controller

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

编写上传文件的service

白名单参照:

https://tool.oschina.net/commons

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

测试上传文件-->此处使用Advanced Rest Application测试

用返回路径测试是否可以访问当前上传的图片

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

访问成功

nginx代理图片上传以及访问 nginx 图片上传完整版的更多相关文章

  1. Nginx代理实现内网主机访问公网服务

    通过Nginx代理实现内网主机访问公网和接口服务 1.需求: m2.test.com为公司测试环境的微信测试域名,因为要调用微信服务接口需要访问外网,现通过Nginx代理现实此功能. 2.环境如下: ...

  2. 单机部署minio,设置Nginx代理,配置https(TLS)访问

    安装 下载地址:https://dl.min.io/ # 创建目录 mkdir -p /usr/local/minio/{data,bin,etc} # 下载minio wget https://dl ...

  3. WebSocket 结合 Nginx 实现域名及 WSS 协议访问-Nginx配置

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  4. 用反向代理nginx proxy_pass配置解决ie8 ajax请求被拦截问题 ie8用nginx代理实现跨域请求访问 nginx405正向代理request_uri

    最近调PC版网站ie8的兼容性,发现所有ajax请求还没到后端服务器就直接ajax error了 ie8发不出ajax请求,断点调试发现ajax全进入了error,提示“No transport” 我 ...

  5. 宝塔搭建的nginx如何只允许指定IP访问--nginx如何允许指定IP访问,nginx开发者调试模式

    我的博客,向来都是简洁.有用为主,转载请注明出处. 说白了就是往nginx配置文件中加两句话 allow 127.0.0.1; deny all; 允许127.0.0.1访问 然后拒绝其他连接,返回4 ...

  6. 【zz】史上最全设计模式导学目录(完整版)

    2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 +  简单工厂模式),为了方便大家 ...

  7. 使用springboot上传文件至nginx代理服务器

    nginx配置图片服务器 server { listen 8001; server_name image.xxx.com; proxy_set_header X-Forwarded-Host $hos ...

  8. Linux下使用Nginx代理访问json文件报404错误

    在网上看了很多,都说是IIS的问题,关键是使用servlet就可以正常访问,使用Nginx就不行,最后发现是其他问题,解决方案如下: 1.确认配置的路径是否正确,Nginx代理的路径和你访问的路径. ...

  9. 第十四章 nginx代理配置

    一.nginx代理 1.常见模式 1.常见模式:1)正向代理2)反向代理​2.区别1)区别在于形式上服务的"对象"不一样2)正向代理代理的对象是客户端,为客户端服务3)反向代理代理 ...

随机推荐

  1. Shell if 参数含义列表

    [ -a FILE ]  如果 FILE 存在则为真.   [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真.   [ -c FILE ]  如果 FILE 存在且是一个字特殊文 ...

  2. others_babystack

    一道泄露canary+rop常规的题. 这道题让我学习到了,原来canary的最后一位是\x00,又因为是小端存储,所以在内存中我位置是在开头的. 来,下载文件检查一下保护. 开启了canary和nx ...

  3. CF157A Game Outcome 题解

    Content 有一个 \(n\times n\) 的矩阵,每个元素都有一个权值.求所有满足其所在纵列所有元素权值和大于其所在横列所有元素权值和的元素个数. 数据范围:\(1\leqslant n\l ...

  4. Linux中磁盘管理与三剑客之awk初识

    昨日内容回顾 1.用两种方法实现 将文件中以 # 开头的行 把 # 去掉 sed -r 's/^ *#//g' /etc/fstab cat /etc/fstab | tr -d '^#' 2.将文件 ...

  5. SQL优化一例:通过改变分组条件(减少计算次数)来提高效率

    #与各人授权日期相关,所以有十万用户,就有十万次查询(相关子查询) @Run.ExecuteSql("更新各人应听正课数",@"update bi_data.study_ ...

  6. 基于DNN的残余回声抑制

    摘要 由于功率放大器或扬声器的限制,即使在回声路径完全线性的情况下,麦克风捕获的回声信号与远端信号也不是线性关系.线性回声消除器无法成功地消除回声的非线性分量.RES是在AES后对剩余回声进行抑制的一 ...

  7. win7(X64)+wdk7驱动环境搭建

    !!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist -----  蓝 屏 警 告 --- 加载驱动的操作请在虚拟机中完成, 可以有效避免物理机蓝 ...

  8. 再谈多线程模型之生产者消费者(单一生产者和单一消费者)(c++11实现)

    0.关于 为缩短篇幅,本系列记录如下: 再谈多线程模型之生产者消费者(基础概念)(c++11实现) 再谈多线程模型之生产者消费者(单一生产者和单一消费者)(c++11实现)[本文] 再谈多线程模型之生 ...

  9. 【LeetCode】931. Minimum Falling Path Sum 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 相似题目 参考资料 日期 题目地址:htt ...

  10. 【LeetCode】687. Longest Univalue Path 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 日期 题目地址:https://leetco ...