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

访问成功

原文地址:https://www.cnblogs.com/TJ21/p/12609112.html

时间: 2024-10-10 14:23:02

nginx代理图片上传以及访问的相关文章

关于Tomcat和Nginx图片上传以及访问的路径问题

在实际项目中,我们很多时候需要把图片保存起来,方式有很多种,最简便的方法就是使用第三方的服务,比如阿里云.腾讯.七牛云.网易云信等都提供了图片的镜像存储,能轻松存储图片,我之前写过七牛云的图片存储,有兴趣的同学可以去看一下. 今天我要总结的东西是如何将文件上传到自己的服务器并且访问. 当我们安装好Tomcat和Nginx的时候,在其安装目录下面都会有一个根目录,Tomcat的根目录是 /var/www/html/,而Nginx是 /usr/local/nginx/html/, 我们在这两个文件夹

多实例集群部署下的图片上传

场景 存在多个无状态的Web应用服务,支持多实例集群化部署(使用nginx作为反向代理) 在Web应用中存在图片文件上传功能 不能将图片文件直接保存到数据库中,数据库中只保存文件访问链接 问题 因为Web应用服务是多实例集群化部署的,因此上传图片之后不能简单保存到本地,否则其他实例将无法访问上传之后的图片. 图片上传之后不要通过Web应用来访问(像Tomcat这样的Servlet容器不擅长处理静态文件) 解决方案 图片如何存储 针对第一个问题,图片通过Web应用上传之后不能保存在本地,应该使用专

百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源

个人官网.公司项目都需要 可视化编辑器,百度UEditor做得很不错,就用的这个.项目后台用到了SpringMVC.Freemarker,开发过程中部署在Jetty,线上部署用Tomcat,最后可能配置Nginx代理.     在实际使用过程中,遇到了太多的问题,因此有必要梳理和总结下. 1. 先说百度UEditor在Java环境中的使用:1.1   Html页面或者Freemarker模版里,引入百度UEditor的相关JS和CSS,如下 <script type="text/javas

nginx图片上传失败

最近做一个微网站,图片上传出现问题.有时能上传图片,有时上传失败.代码测试了好几遍,也是没问题的.后来查看nginx日志access.log,发现了413问题,说明上传的图片太大了.解决办法是:nginx.conf配置client_max_body_size,我的配置里默认为2M,上传的图片超过这个大小就上传失败了. vi /usr/local/nginx/conf/nginx.conf 修改http下的client_max_body_size为10M,问题解决了!

nginx代理图片访问

nginx代理图片访问 首先配置nginx的代理物理路径 我的是在E盘下面的image 1 #图片的代理 2 server { 3 listen 80; 4 #配置访问的域名 5 server_name image.leyou.com; 6 7 #charset koi8-r; 8 9 #access_log logs/host.access.log main; 10 11 location / { 12 #配置代理的物理路径 13 root E:\\image; 14 15 } 16 } 在本

分布式系统图片上传方案

思路分析 直接将图片上传到一个指定的目录,访问.下载图片都访问这个目录. 由于项目最终是要部署到Linux环境,所以直接将图片上传到Linux服务器. 问题:那如何将图片上传到Linux呢? 答:使用vsftpd组件,实现文件传输. vsftpd简介 问题1:vsftpd是什么? 答:ftp(File Transfer Protocol)文件传输协议.(实现不同操作系统之间文件的传输) vsftpd是一个基于ftp协议的文件传输服务器软件. 问题2:vsftpd作用是什么? 答:传输文件.(跨平

优化篇-“移动端”图片上传架构的变迁

做互联网应用少不了图片的支撑,图片的上传.浏览速度很大程度上决定着用户的体验,甚至用户去留,就因为其重要,所以,在任何时候,图片的架构和优化都在进行,不敢丝毫放松. 在以后几个章节,会从后端图片存储.前端浏览.动态浏览这些方面和大家分享一下我们一路过来的经验. 经过数据的观察,APP.WAP的用户量基本与PC端持平甚至超越,因此,应移动端用户体验和访问速度都被运营方盯得紧紧.在2014年的时候已经看到这个趋势后,主动监测发现移动端的跨运营商访问速度和稳定性真不敢恭维.所以,在那个时候开始,我们已

(转)淘淘商城系列——实现图片上传功能

http://blog.csdn.net/yerenyuan_pku/article/details/72808000 上文我们使用FastDFS-Client进行了简单的文件上传操作测试,淘淘商城项目中添加商品时上传图片的功能还没实现,如下图所示.本文将花大量笔墨来教大家如何实现图片上传这个功能. 我们来看下item-add.jsp页面,可以看到上传图片触发的方法是通过叫做picFileUpload的class来处理的,在<a>标签的下方是一个隐藏域,是用来接收图片上传到图片服务器的回显地址

搭建NFS共享目录,解决wordpress负载均衡图片上传问题

1.剧情回顾 在之前的博客里面,我搭建了两个WEB服务器,然后在前端搭建了一个Nginx负载均衡服务器,用来分发请求给两个不同的服务器(http://blog.51cto.com/superpcm/2095324).之前的测试没有问题,原因在于测试程序是单纯的静态网站,不会发生变动的静态网站.后来我搭建在两台WEB上都搭建了wordpress服务,然后上传图片的时候做测试.发现图片上传只传到其中的一台服务器上(比如说web01),当我关闭web01的时候,web02就没法看到看到那个图片了. 这