gpt4 book ai didi

mongodb - 如何使用 Golang 从 Mongo GridFS 下载文件?

转载 作者:数据小太阳 更新时间:2023-10-29 03:41:00 26 4
gpt4 key购买 nike

我正在尝试编写一个具有基本文件上传、下载功能的 Rest API。我能够很好地完成上传部分,但我很难从 gridfs 下载文件。有什么建议吗?

最佳答案

更新:我想我知道怎么做了。我很好奇是否有人有任何其他建议:

这是我现在的样子:

func DownloadRecord(w http.ResponseWriter, filename string) error {
if !fileExists(filename) {
return errors.New("File doesn't exist. Nothing to download")
}
session := sqlconnecter.GetMongoDBConnection()
fileDb := session.DB("mydatabase")
file, err := fileDb.GridFS("fs").Open(filename)
defer file.Close()
if err != nil {
return err
}
fileHeader := make([]byte, 512)
file.Read(fileHeader)
fileContentType := http.DetectContentType(fileHeader)
fileSize := file.Size()

w.Header().Set("Content-Disposition", "attachment; filename="+filename)
w.Header().Set("Content-Type", fileContentType)
w.Header().Set("Content-Length", strconv.FormatInt(fileSize, 10))

file.Seek(0, 0)
io.Copy(w, file)
return err
}

关于mongodb - 如何使用 Golang 从 Mongo GridFS 下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49118889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com