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)反向代理代理 ...
随机推荐
- 解决用creact-react-app新建React项目不支持 mobx装饰器模式导致报错问题 。
创建react项目 create-react-app mobx-demo cd my-app npm run start 使用react-app-rewired npm install customi ...
- time_formatter(uaf)
拿到题目先例行检查 然后进入主函数查看程序流程, 进入函数 这些字符串对我们选择1的输入进行了限制 在输入里面,可以看到strdup这个关键性的函数 调用了malloc这个函数 在选择四里面,可以看到 ...
- Notepad++ 常用功能:批量取消替换换行、强制刷新数据
批量取消替换换行 换行批量替换成空格 Ctrl+F 打开查找替换窗口,使用:\r\n 替换成 空格,全部替换 强制刷新数据源,重新加载数据 快捷键:Ctrl+R 或者 Alt+F 然后 L 或者点击菜 ...
- 面试官:HashSet如何保证元素不重复?
本文已收录<Java常见面试题>系列,Git 开源地址:https://gitee.com/mydb/interview HashSet 实现了 Set 接口,由哈希表(实际是 HashM ...
- 自己实现一个Electron跨进程消息组件
我们知道开发Electron应用,难免要涉及到跨进程通信,以前Electron内置了remote模块,极大的简化了跨进程通信的开发工作,但这也带来了很多问题,具体的细节请参与我之前写的文章: http ...
- shell判断新字符串列表是否在老字符串列表中
for sn in `cat 12.30-new`;do if ! [[ `cat 12.30-old` =~ $sn ]];then echo $sn; fi; done
- cmake命令行生成32位和64位项目
概述 本文演示环境: win10 + VS2017 1.指定变量值 咱们常用命令[cmake ..]在build目录下配置生成项目和解决方案. 其实,这个命令还有其他用法. 指定CMakeLists. ...
- 【LeetCode】406. Queue Reconstruction by Height 解题报告(Python & C++ & Java)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】463. Island Perimeter 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 减去相交部分 参考资料 日期 题目地址:https: ...
- 【剑指Offer】反转链表 解题报告(Python)
[剑指Offer]反转链表 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描 ...