像图像或 PDF 文件这样的 MIME 类型不需要 base64 或以其他方式编码吗?
Posted
技术标签:
【中文标题】像图像或 PDF 文件这样的 MIME 类型不需要 base64 或以其他方式编码吗?【英文标题】:Don't MIME types like images or PDF files need to be base64 or otherwise encoded? 【发布时间】:2018-04-02 11:35:46 【问题描述】:图像或 PDF 文件等 MIME 类型不需要为 base64 或以其他方式编码 当想要通过 HTTP 发送或上传它们时,因为它们可能包含控制字符?
二进制数据不需要与文本数据分开处理,或者我什至可以将文本文件作为二进制数据(应用程序/八位字节流)传输并让接收应用程序决定如何处理它?
【问题讨论】:
【参考方案1】:HTTP 请求不需要任何传输编码。使用multipart/form-data
正确构造的HTTP POST 请求将包括Content-Type
用于通过每个边界的每个部分。不需要将其视为 MIME 消息。服务器/应用程序,此 HTTP 请求的目标地址,将根据内容标头,特别是 Content-Type
处理每个边界内容。 HTTP POST 有效负载的小示例可能看起来像...
POST /my_page HTTP/1.1
Content-Type: multipart/form-data; boundary=MNZ2WM28FYlZX3miY-6E9iytpT0UfW-uzlOvF
--MNZ2WM28FYlZX3miY-6E9iytpT0UfW-uzlOvF
Content-Disposition: form-data; name="field1"
content of this input field
--MNZ2WM28FYlZX3miY-6E9iytpT0UfW-uzlOvF
Content-Disposition: form-data; name="html_content"
<p><em>Dear customer</em>,</p>
<p>Please review the attached.</p>
--MNZ2WM28FYlZX3miY-6E9iytpT0UfW-uzlOvF
Content-Disposition: form-data; name="file0"; filename="sample.txt"
Content-Type: text/plain
Plain text file content.
--MNZ2WM28FYlZX3miY-6E9iytpT0UfW-uzlOvF
Content-Disposition: form-data; name="file1"; filename="sample.docx"
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
PK ! ߤÒlZ [Content_Types].xml ¢(
l"%3÷Þ3VƃÑÚšl µw%ë=–“^i7+Ù×ä-d&á”0ÞAÉ6€l4¼½L60#µÃ’ÍS
Oœ£œƒXø Ž*•V$z3„ü3à÷½Þ—Þ%p)Oµ^ “²×5nH"dÙsÓXg•L„
Á 8
--MNZ2WM28FYlZX3miY-6E9iytpT0UfW-uzlOvF--
【讨论】:
以上是关于像图像或 PDF 文件这样的 MIME 类型不需要 base64 或以其他方式编码吗?的主要内容,如果未能解决你的问题,请参考以下文章
我能否可靠地找出正确的 mime 类型来提供不受信任的内容?