登录
首页 >  Golang >  Go问答

使用 Go 处理 post 请求中的多个文件

来源:stackoverflow

时间:2024-03-30 08:24:31 267浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《使用 Go 处理 post 请求中的多个文件》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在使用 go 为音乐流服务编写服务器端。我需要能够处理相册上传。我希望管理员能够访问 http://lisn.rocks/upload,选择一个必须包含 meta.jsoncover.jpg 和一些 .mp3 歌曲文件的文件夹,单击上传并处理其余内容通过服务器。

这是一个简单的 html 页面,我用来测试此功能:


    Album Upload
    
        

我需要一个处理程序函数,它能够查看 meta.json 文件,检查其内容并根据其中的内容执行操作。 meta.json 包含我需要的所有信息。现在,我不需要关于使用 go 或其他相关内容读取 json 的详细解释。

我只需将该文件夹中的所有文件作为单独文件读取即可。相反,当我执行 request.formfile("album") 时,go 将它们全部视为单个 album 文件字段。


解决方案


可以使用请求结构体的multipartform字段来处理go中的多个文件上传。

multipartFormData := req.MultipartForm

    for _, v := range multipartFormData.File["attachments"] {
        fmt.Println(v.Filename, ":", v.Size)
        uploadedFile, _ := v.Open()
        // then use the single uploadedFile however you want
        // you may use its read method to get the file's bytes into a predefined slice, 
        //here am just using an anonymous slice for the example
        uploadedFile.Read([]byte{})
        uploadedFile.Close()
    }

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>