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
访问成功

nginx代理图片上传以及访问 nginx 图片上传完整版的更多相关文章
- Nginx代理实现内网主机访问公网服务
通过Nginx代理实现内网主机访问公网和接口服务 1.需求: m2.test.com为公司测试环境的微信测试域名,因为要调用微信服务接口需要访问外网,现通过Nginx代理现实此功能. 2.环境如下: ...
- 单机部署minio,设置Nginx代理,配置https(TLS)访问
安装 下载地址:https://dl.min.io/ # 创建目录 mkdir -p /usr/local/minio/{data,bin,etc} # 下载minio wget https://dl ...
- WebSocket 结合 Nginx 实现域名及 WSS 协议访问-Nginx配置
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- 用反向代理nginx proxy_pass配置解决ie8 ajax请求被拦截问题 ie8用nginx代理实现跨域请求访问 nginx405正向代理request_uri
最近调PC版网站ie8的兼容性,发现所有ajax请求还没到后端服务器就直接ajax error了 ie8发不出ajax请求,断点调试发现ajax全进入了error,提示“No transport” 我 ...
- 宝塔搭建的nginx如何只允许指定IP访问--nginx如何允许指定IP访问,nginx开发者调试模式
我的博客,向来都是简洁.有用为主,转载请注明出处. 说白了就是往nginx配置文件中加两句话 allow 127.0.0.1; deny all; 允许127.0.0.1访问 然后拒绝其他连接,返回4 ...
- 【zz】史上最全设计模式导学目录(完整版)
2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家 ...
- 使用springboot上传文件至nginx代理服务器
nginx配置图片服务器 server { listen 8001; server_name image.xxx.com; proxy_set_header X-Forwarded-Host $hos ...
- Linux下使用Nginx代理访问json文件报404错误
在网上看了很多,都说是IIS的问题,关键是使用servlet就可以正常访问,使用Nginx就不行,最后发现是其他问题,解决方案如下: 1.确认配置的路径是否正确,Nginx代理的路径和你访问的路径. ...
- 第十四章 nginx代理配置
一.nginx代理 1.常见模式 1.常见模式:1)正向代理2)反向代理2.区别1)区别在于形式上服务的"对象"不一样2)正向代理代理的对象是客户端,为客户端服务3)反向代理代理 ...
随机推荐
- GSS API
Detail:http://docs.oracle.com/cd/E24847_01/html/E22200/overview-61.html GSS-API 介绍 使用 GSS-API,程序员在编写 ...
- 利用 trap 在 docker 容器优雅关闭前执行环境清理
当一个运行中的容器被终止时,如何能够执行一些预定义的操作,比如在容器彻底退出之前清理环境.这是一种类似于 pre stop 的钩子体验.但 docker 本身无法提供这种能力,本文结合 Linux 内 ...
- NEEPU-CTF 2021公开赛 writeup
没打这场比赛,但是题目质量挺高的.赛后赶紧学习一波. RUSH B Linux入门 考linux指令的. cat hint.txt 提示让访问根目录. ls / 发现flag cat flag 提示说 ...
- [BUUCTF]PWN——pwnable_orw
pwnable_orw 附件 步骤: 例行检查,32位程序,开启了canary 本地运行一下程序,看看大概的情况,提示我们输入shellcode 32位ida载入,检索字符串,没看见什么可以直接利用的 ...
- 建立资源的方法(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 终于,进入第5章资源计划编制了,所以就不能还在任务工作表里厮混了是吧,那就先进入资源工作表吧:[任务]>[甘特图]& ...
- CF955C Sad powers 题解
Content 给你 \(q\) 个询问,每次询问 \([l,r]\) 这个区间内满足 \(x=a^p(a>0,p>1)\) 的 \(x\) 的数量. 数据范围:\(1\leqslant ...
- CF151B Phone Numbers 题解
Content 在一座城市中,每个人的电话号码都是由六位整数组成的,例如 11-45-14. 现在有 \(n\) 个人,第 \(i\) 个人有 \(s_i\) 个人的电话号码.已知: 出租车司机的电话 ...
- python 豆瓣top250
豆瓣电影 import re import requests headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; ...
- IDEA 无法显示 Run Dashboard 的解决方法
前言 最近开始接触微服务的项目,项目很多有时候本地调测需要启动多个项目,看到同事都是使用dashboard管理项目,服务和端口排列的整整齐齐.但是我dashboard里面啥都没有,一顿百度最后解决问题 ...
- byte数组(byte[])与MultipartFile相互转化
MultipartFile转化为byte数组 byte[] bytes= file.getBytes(); byte数组转化为MultipartFile <dependency> < ...