Ich bin eine Golang API, die Multipart/Form-Datenanforderungen akzeptieren. Bei einigen Clients kann das Formular jedoch nicht analysiert werden, da es die vom Client verwendete Grenze nicht mag.MIME ParseMediaType schlägt auf multipart Grenze
Der Header des Clients ist:
Content-Type:[multipart/form-data; boundary================1648430772==]
ich diese ParseMediaType
Funktion im mime
Paket auf die nach unten verengt haben.
Wenn ich nennen:
bad := "multipart/form-data; boundary=1650458473"
d, params, err := mime.ParseMediaType(v)
if err != nil {
fmt.Println("err", err)
}
fmt.Println(d, params)
ich die err erhalten: mime: invalid media parameter
.
Beachten Sie, dass, wenn ich diesen Aufruf zu tun mit
multipart/form-data; boundary=3fc88aad6d1341a4921fd5ac9efe607c
es kein Problem erfolgreich ist.
Nach der https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html Spezifikation, es sieht für mich aus wie diese sind alle gültigen Zeichen für eine Grenze.
Ist das ein Fehler in der Go Mime-Bibliothek? Oder ist das wirklich eine ungültige Grenze?
Können Sie genau zeigen, wie die Anfrage aussieht? Beide Beispiele können funktionieren. – JimB