登录
首页 >  Golang >  Go问答

解析多部分表单数据的 RFC 1867

来源:stackoverflow

时间:2024-02-15 10:45:19 487浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《解析多部分表单数据的 RFC 1867》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

解析多部分表单时出错。已进行以下尝试,但尚未解决:不知道golang是否不支持rfc 1867。感谢您的帮助。

post /uploadfile.htm http/1.1
host: myserver
connection: keep-alive
content-length: 368
user-agent: mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/89.0.4389.90 safari/537.36
content-type: multipart/form-data; boundary=aab03x

--aab03x
content-disposition: form-data; name="file"
content-type: multipart/form-data; boundary=bbc04y

--bbc04y
content-disposition: file; filename="file1.txt"
content-type: text/plain

... contents of file1.txt ...
--bbc04y
content-disposition: file; filename="file2.gif"
content-type: image/gif

...contents of file2.gif...
--bbc04y--
--aab03x--
err := request.parsemultipartform(1024)
log.printf("value %v", request.multipartform.value)
log.printf("file %v", request.multipartform.file)

如果您查看日志,则会看到以下内容

value map[file:[--BbC04y
Content-Disposition: file; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--BbC04y
Content-Disposition: file; filename="file2.gif"
Content-Type: image/gif

...contents of file2.gif...
--BbC04y--]
file map[]

我应该如何解析多部分表单?


解决方案


import "mime/multipart"
...
mr := multipart.NewReader(r.Body, boundary)
for {
    p, err := mr.NextPart()
    if err == io.EOF {
        break
    }
...

您现在可以在每个部分后记录 p 以检查格式并提取数据

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

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