当前位置:首页 > CN2资讯 > 正文内容

服务器图片转到云服务器

2天前CN2资讯


1.实现本地图片上传

controller的四个参数

  • 请求方式:上传肯定是POST
  • 请求路径:/upload/image
  • 请求参数:文件,参数名是file,SpringMVC会封装为一个接口:MultipleFile
  • 返回结果:这里上传与表单分离,文件不是跟随表单一起提交,而是单独上传并得到结果,随后把结果跟随表单提交。因此上传成功后需要返回一个可以访问的文件的url路径

2.在上传文件过程中,我们需要对上传的内容进行校验:

  • 校验文件大小
  • 校验文件的媒体类型
  • 校验文件的内容
  • 文件大小在Spring的配置文件中设置

    图片地址需要使用另外的url

    • 图片不能保存在服务器内部,这样会对服务器产生额外的加载负担
    • 一般静态资源都应该使用独立域名,这样访问静态资源时不会携带一些不必要的cookie,减小请求的数据量

    hosts : http://image.leyou.com的地址指向本机

    Nginx : 限制文件大小 – leyou.conf中的server的外面,设置大小限制为5M

    #设置 body内容大小为5M client_max_body_size 5m; server { listen 80; server_name ; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location /api/upload { #路径重写: rewrite "^/(.*)$" /zuul/$1; #"^/(.*)$":匹配路径的正则表达式,用了分组语法,把`/`以后的所有部分当做1组 #/zuul/$1:重写的目标路径,用$1引用前面正则表达式匹配到的分组,在原始路径的基础上,添加了/zuul前缀。 } location / { proxy_pass http://127.0.0.1:10010; proxy_connect_timeout 600; proxy_read_timeout 600; } }

    3.阿里云对象存储OSS

    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。

    传统文件系统管理的文件就存储在本机。 分布式文件系统管理的文件存储在很多机器,通过网络连接,要被统一管理。无论是上传或者访问文件,都需要通过管理中心来访问

    常见的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)、Fast DFS(淘宝)等。

    OSSClient底层使用的是HttpClient,如果每次访问都创建新的客户端,资源浪费较多。我们可以把其注册到Spring,单例来使用。

    编写web层请求接口的要素:

    • 请求方式:GET
    • 请求路径:signature
    • 请求参数:无
    • 返回结果:应该是一个对象,包含下列属性:
    • host:上传到阿里的url路径(bucket + endpoint)
    • policy:上传的策略
    • signature:签名
    • accessId:就是AccessKeyID
    • dir:在oss的bucket中的子文件夹的名称,可以不写。

    隐藏阿里服务地址

    需要一个自定义域名,最好保持与自己的域名一致,如:http://image.leyou.com,然后使用nginx反向代理,最终再指向阿里服务器域名。

    首先,修改服务器端返回的请求域名,修改ly-upload中的application.yml文件:

    ly: oss: host: http://image.leyou.com

    然后在nginx中设置反向代理:

    server { listen 80; server_name image.leyou.com; location / { proxy_pass http://leyou-shunyi.oss-cn-beijing.aliyuncs.com; } }


      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/20423.html

      分享给朋友:

      “服务器图片转到云服务器” 的相关文章

      Racknerd 圣何塞 VPS:高性能、低延迟的托管解决方案

      Racknerd 公司简介 Racknerd 是一家国际性的互联网托管服务提供商,成立于2019年。虽然相对年轻,但它在短时间内赢得了不少用户的信赖。公司提供多种托管解决方案,包括虚拟主机、分销主机服务、基于KVM虚拟化技术的VPS产品、独立服务器租赁以及数据中心托管服务。Racknerd 的全球业...

      探索VPS论坛:获取信息与技术交流的最佳平台

      在当今的数字时代,VPS(虚拟专用服务器)论坛扮演着一个重要的角色。作为技术爱好者和学习者交流的平台,这些论坛不仅提供了丰富的信息资源,还促成了用户之间的互动。我最喜欢的就是能在这样的社区中找到志同道合的朋友,讨论各种技术问题和经验。 VPS论坛的定义和特点非常明确。它们通常是一个集中讨论虚拟专用服...

      mac ssh工具推荐:提升远程工作效率的最佳选择

      在现代计算机网络中,SSH(Secure Shell)是一个重要的工具。它为用户提供了一种安全的远程登录协议,广泛应用于网络管理、服务器配置等场景。我自己在处理多台服务器时,总是通过SSH来保证安全性和网络的高效性。通过SSH,我可以在远程计算机上执行命令和操作,感觉就像在本地电脑上一样。 在Mac...

      CN2 GIA是什么?探索高效国际网络连接的解决方案

      在当今这个数字化时代,网络连接的稳定性与速度成为了企业和个人活动的重中之重。CN2 GIA,或称为全球互联网接入(Global Internet Access),是由中国电信提供的一项高级国际专线网络服务。这项服务在CN2产品线中占据了顶级位置,专为那些需要快速且稳定的国际网络连接的用户而设计。通过...

      宝塔面板安装指南:轻松搭建与管理云服务器

      宝塔面板是一款专为服务器运维设计的工具,以其简单易用的操作界面受到广泛欢迎。我在使用云服务器建站时,发现宝塔面板让繁琐的服务器管理变得轻松自如。它支持一键安装LAMP和LNMP环境,用户可以在数分钟内搭建出一个完整的网站环境,而且它还集成了监控、数据库管理、FTP等多种功能,真是一个多面手。 无论是...

      BBR脚本:提升Linux服务器网络性能的最佳选择

      BBR的基本概念 在近年来的网络技术发展中,BBR脚本不可不提。作为Google提出的拥塞控制算法,它带来了显著的性能提升。我常常会把BBR比作一位聪明的交通指挥官,它通过实时监测网络的瓶颈带宽和往返时间,像调节交通流量一样动态调整数据传输速率。这使得使用BBR的Linux服务器能够在面对不同网络条...