【问题标题】:Minio: Render images in browserMinio:在浏览器中渲染图像
【发布时间】:2020-09-02 07:14:57
【问题描述】:

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

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

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

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

我在浏览器中获得了那些响应标头:

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

【问题讨论】:

    标签: browser object-storage minio


    【解决方案1】:

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

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

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

    【讨论】:

    • 这行得通,谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 2012-04-23
    • 2012-08-20
    相关资源
    最近更新 更多