将文件从Minio流传输到Web浏览器

时间:2020-06-19 15:17:52

标签: go amazon-s3 minio

我有一个使用Gin Web Framework用golang编写的后端网站和一个存储了一些文件的Minio Serevr。我想要实现的是从我的网页(用ReactJS编写)中,我可以下载一个存储在minio中的文件。到目前为止,我可以使用以下代码行连接到minio并检索文件:

minioClient, err := minio.New(endpoint, accessKeyID, secretAccessKey, useSSL)
object, err := minioClient.GetObject(dataConnection.BucketName, fileName, minio.GetObjectOptions{})

我返回的对象实现了HTTP流的Reader,ReaderAt,Seeker,Closer。实际上,我想将其直接流式传输到Web浏览器,而不是将其保存在本地,然后再次将其提供给Web浏览器。但是从这里我有点迷路了

已解决:

file, err := minioClient.GetObject(dataConnection.BucketName, path+file, minio.GetObjectOptions{})
extraHeaders := map[string]string{
            "Content-Disposition": "attachment; filename=" + fileRequest.FileName,
        }
c.DataFromReader(http.StatusOK, size, "application/octet-stream", file, extraHeaders)

0 个答案:

没有答案