minIO如何设置直接通过访问链接在浏览器中打开文件

场景描述:

在数据质量中心的需求开发中,需要将测试报告存储在minIO系统上,并记录访问链接,前端获取文件链接后,直接在浏览器中打开html报告。

如以下报告链接http://XXXXXXX:9000/qacenter/test-reports/xl-acc/ahdhah/2020%E5%B9%B404%E6%9C%8827%E6%97%A5%2017%3A39%3A16/report.html

问题描述:

在创建文件bucket后,上传html文件,发现访问文件链接,浏览器并不会如预期那样像访问静态网页一样打开测试报告,而是跳转到minIO系统,并且定位到该文件路径

解决方案:

 

原因是因为minIO没有配置bucket策略,默认情况下,minIO没有配置匿名读写的权限

minIO如何设置直接通过访问链接在浏览器中打开文件_第1张图片

 

 

minIO如何设置直接通过访问链接在浏览器中打开文件_第2张图片

如上图所示,在bucket菜单栏中点击Edit policy,新增Read权限,(Read Only 或 Read and Write均可),即可通过链接的方式直接访问该文件

备注:

由于浏览器的限制,当上传文件时,设置header为application/octet-stream时,浏览器打开链接会默认进行下载而不是在浏览器中加载文件,所以如果想要文件时直接打开,上传时则不要设置application/octet-stream

application/octet-stream : 二进制流数据(如常见的文件下载)

 

常见的媒体格式类型如下:

  • text/html : HTML格式
  • text/plain :纯文本格式
  • text/xml : XML格式
  • image/gif :gif图片格式
  • image/jpeg :jpg图片格式
  • image/png:png图片格式

以application开头的媒体格式类型:

  • application/xhtml+xml :XHTML格式
  • application/xml: XML数据格式
  • application/atom+xml :Atom XML聚合格式
  • application/json: JSON数据格式
  • application/pdf:pdf格式
  • application/msword : Word文档格式
  • application/octet-stream : 二进制流数据(如常见的文件下载)
  • application/x-www-form-urlencoded :
    中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

 

 

 

 

你可能感兴趣的:(经验之谈)