Minio:在浏览器中呈现图像

4

我正在将我的 SVG 文件上传到本地运行在 Docker 中的 Minio 服务器。

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

然后我会生成一个公共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服务器进行其他配置吗? 如果我能够下载它们并且查看时它们是完好无损的,那么它们也应该能够在浏览器中呈现,不是吗?

目前bucket的权限设置为public,具体如下:

mc policy set public myminio/link-identifiers
2个回答

5
< p > putObject 函数接受一个可选的 metadata 参数。 < /p >
  const metadata = {
  'Content-type': 'image',
};

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


这个有效,谢谢 :) - InsOp
1
我也是,谢谢!刚刚添加了 minioClient.putObject.contentType(file.getContentType())... - Victor Z

0

从此链接minio download下载mc.exe

或者点击此链接mc. exe

下载完成后,在mc.exe所在的命令行中输入以下命令

mc.exe alias set my mini http://192.168.1.101:9000 mini admin mini admin

或者

mc.exe alias set my mini [your mini server URL] [minio username] [minio password]

完成上述步骤后,您的浏览器可以像这样加载图片或文件 like this


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接