Attachments mit Nicht-ASCII-Zeichen führen zu TypeError
Beim Upload eines Attachments mit einigen Unicode-Zeichen (z.B. „–“ (Gedankenstrich, U+2013) wird folgende Exception geworfen:
Uncaught (in promise) TypeError: Window.fetch: Cannot convert value in record<ByteString, ByteString> branch of (sequence<sequence<ByteString>> or record<ByteString, ByteString>) to ByteString because the character at index 28 has value 8211 which is greater than 255.
createAttachment semtixapi.tsx:179
handleSubmit FormAttachment.tsx:48
React 23
<anonymous> main.tsx:12
2 semtixapi.tsx:179:27
handleSubmit FormAttachment.tsx:77
AsyncFunctionThrow self-hosted:856
React 19
forEach self-hosted:4470
React 4
<anonymous> main.tsx:12
Da die Datei im State bleibt (ein weiterer Bug?), kommt der Fehler auch bei allen weiteren Uploads.
Die Lösung ist filename*
und RFC5987 (siehe MDN), d.h. der Content-Disposition
-Header sollte wie folgt gebildet werden:
`attachment; filename*=UTF-8''${encodeURIComponent("647959_–_Add_Honest_Achmeds_root_certificate.pdf")}`
// ergibt
"attachment; filename*=UTF-8''647959_%E2%80%93_Add_Honest_Achmeds_root_certificate.pdf"
Edited by Simon Marquardt