GO語言"mime/multipart"包中"NewReader"函數的用法及代碼示例。
用法:
func NewReader(r io.Reader, boundary string) *Reader
NewReader 使用給定的 MIME 邊界從 r 創建一個新的多部分閱讀器。
邊界通常從消息的"Content-Type" 標頭的"boundary" 參數中獲得。使用 mime ParseMediaType 來解析此類標頭。
例子:
package main
import (
"fmt"
"io"
"log"
"mime"
"mime/multipart"
"net/mail"
"strings"
)
func main() {
msg := &mail.Message{
Header: map[string][]string{
"Content-Type": {"multipart/mixed; boundary=foo"},
},
Body: strings.NewReader(
"--foo\r\nFoo: one\r\n\r\nA section\r\n" +
"--foo\r\nFoo: two\r\n\r\nAnd another\r\n" +
"--foo--\r\n"),
}
mediaType, params, err := mime.ParseMediaType(msg.Header.Get("Content-Type"))
if err != nil {
log.Fatal(err)
}
if strings.HasPrefix(mediaType, "multipart/") {
mr := multipart.NewReader(msg.Body, params["boundary"])
for {
p, err := mr.NextPart()
if err == io.EOF {
return
}
if err != nil {
log.Fatal(err)
}
slurp, err := io.ReadAll(p)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Part %q: %q\n", p.Header.Get("Foo"), slurp)
}
}
}
輸出:
Part "one": "A section" Part "two": "And another"
相關用法
- GO NewReader用法及代碼示例
- GO NewReplacer用法及代碼示例
- GO NewFromFiles用法及代碼示例
- GO NewCBCDecrypter用法及代碼示例
- GO NewCFBDecrypter用法及代碼示例
- GO NewCFBEncrypter用法及代碼示例
- GO New用法及代碼示例
- GO NewGCM用法及代碼示例
- GO NewTripleDESCipher用法及代碼示例
- GO NewWriter用法及代碼示例
- GO NewCBCEncrypter用法及代碼示例
- GO NewOFB用法及代碼示例
- GO NewTLSServer用法及代碼示例
- GO NewTicker用法及代碼示例
- GO NewCTR用法及代碼示例
- GO NewEncoder用法及代碼示例
- GO NumError用法及代碼示例
- GO NotifyContext用法及代碼示例
- GO Node用法及代碼示例
- GO Notify用法及代碼示例
注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 NewReader。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。