minio直接通过地址访问无需服务器转发

背景

做网站有些图片、视频、js等资源,没有什么变化,想在网站上直接使用,前端拿到地址可直接访问获得,而不是通过后台转一道再获得,折腾了半天访问不到,从网上找资料挨个试,也没完全解决,正要放弃的时候,突然看了下控制台启动信息,卧槽,这不会是端口问题吧!尝试使用api端口访问数据,果然可以。下面就将设置方式记录

外网可直接访问

查看控制台启动信息

在这里插入图片描述
这里有两个地址

  1. api地址:这个地址才是后面访问内容的地址,重要!重要!重要!
  2. webui地址:访问控制台的,也就是接下来要创建桶,设置权限的界面

设置桶访问策略

在这里插入图片描述

上传文件

在这里插入图片描述

访问

地址规则为:{API地址}/桶/文件目录/文件
在这里插入图片描述
可以看到文件正常下载了,这就可以在其他地方直接使了

预览

上面我们已经做到外网可直接访问,但是是直接下载,无法做到预览,那么这是什么原因呢,分析访问本地文件和远程文件的区别发现是响应头content-type有差异,然后去minio查看文件信息
在这里插入图片描述
发现Content-type是二进制流,这样有些文件是客户端是不知道怎么解析的,所以无法实现预览,当然要实现真正的预览功能需要针对不同的文件做些工作,这里咱们可以使用浏览器测试,例如图片再浏览器都是可以预览的,我们访问资源发下是下载。

解决方案

在上传文件的时候准确的告诉minio服务content-type类型,这样在访问的时候就能返回正确的响应头信息。如果有历史文件无法访问请删除重新上传,注意缓存!!!

想了解更多java相关技术,请关注公众号“JavaEE那些事

扫描下面二维码,更多技术资料等你来拿
在这里插入图片描述

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Minio是一个开源的分布式对象存储服务器,它可以提供类似于Amazon S3的服务。通过Minio,我们可以轻松地进行对象的存储和访问,包括图片。 要直接访问Minio中的图片,我们首先需要在Minio服务器上创建一个存储桶(Bucket),然后将图片上传到这个桶中。可以使用Minio提供的命令行工具、API或者各种编程语言的客户端来完成这些操作。 一旦图片上传到Minio中的存储桶中,我们可以通过以下几种方式来直接访问这些图片: 1. 通过Minio的域名加上桶名和图片路径来访问图片。例如,如果Minio的域名是`https://minio.example.com`,存储桶名是`mybucket`,图片路径是`images/example.jpg`,那么我们可以通过`https://minio.example.com/mybucket/images/example.jpg`来直接访问该图片。 2. 如果设置了适当的访问权限,我们也可以在代码中使用Minio的API或者SDK来直接获取图片的访问URL。通过调用相应的方法,我们可以获取到一个带有签名的URL,该URL可以直接访问Minio服务器中的图片,而不需要进行授权和身份验证。 值得注意的是,访问Minio中的图片需要提供正确的访问权限。我们可以在Minio的配置中设置桶级别或者对象级别的访问策略,来控制谁可以访问、读取或者上传图片。 总之,通过Minio,我们可以方便地进行对象存储和访问,包括直接访问图片。无论是通过URL方式还是通过API方式,我们都可以轻松地访问Minio服务器上的图片。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值