browser - Minio:在浏览器中渲染图像

标签 browser object-storage minio

我正在将我的 svg 文件上传到我的本地 minio 服务器(在 docker 中运行)。

const uploadedFile = await client.putObject(bucketName, filename, readStream);

然后我生成一个公共(public) URL,例如http://localhost:9000/link-identifiers/example.svg我可以从那里公开下载文件

如果我想在浏览器中显示为<img src={picUrl}> ,图像根本不呈现。

enter image description here

我在浏览器中得到那些响应头:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 124775
Content-Security-Policy: block-all-mixed-content
Content-Type: application/octet-stream
ETag: "109be6a37b9091e50651b3cbbe6bed3a"
Last-Modified: Wed, 02 Sep 2020 06:44:28 GMT
Server: MinIO/RELEASE.2020-08-07T01-23-07Z
Vary: Origin
X-Amz-Request-Id: 1630E4E87DF71408
X-Xss-Protection: 1; mode=block
Date: Wed, 02 Sep 2020 06:52:34 GMT

为了使图像呈现,我需要对 minio 服务器进行任何额外配置吗? 如果我能够下载它们并且它们非常好(在查看它们时),它们不应该也能够在浏览器中呈现吗?

目前存储桶的权限设置为public与:

mc policy set public myminio/link-identifiers

最佳答案

putObject 函数接收一个可选的metadata 参数。

  const metadata = {
  'Content-type': 'image',
};

将其作为参数传递给能够渲染图像的函数。

关于browser - Minio:在浏览器中渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63700504/

相关文章:

html - html5中如何控制列中的内容

javascript - 如何在同步 JavaScript 运行时显示 CSS 加载器

php - 使用PHP脚本执行linux shell命令并在浏览器中显示?

ibm-cloud - 您如何使用 Bluemix 中的存储服务?

java - 对象存储 - 无法访问区域 "London"中的容器

https - 在 minio 服务器上使用 https

browser - 兼容手机浏览器的css3特性概览?

java - Spark中通过SWIFT从对象存储获取数据需要什么配置

Minio 对象存储上的元数据

docker - 在 github 操作 yml 文件中创建 Minio(S3) 容器