HTTP POST传输的文件是否应该进行base64编码?

10
我目前正在实现一个客户端应用程序,通过HTTP POST文件,并在文件的数据参数上实现了base64编码。但是,在检查带有文件上传表单的简单HTML页面与服务器之间的流量时,似乎没有发送Content-Transfer-Encoding头来描述文件的参数。这是否是通过HTTP POST文件的首选方式?
1个回答

10

抱歉,在我之前的问题中表述不清楚。整个请求正文是multipart/form-data格式的。我特别询问包含文件数据的具体参数。 - andybee
编码规范没有提到需要将部分编码为Base64,因此答案仍然是否定的。它只会使它变得不必要的复杂,并且与现有的multipart/form-data解析器不兼容,因为它们不期望Base64编码的值,因此您需要事后自己解码它们。 - BalusC
请求的接收方不应该遵守Content-Encoding头中指定的内容吗?我曾经遇到过这样一种情况,需要进行base64编码,因为原始二进制数据可能包含会触发打印机对话框等奇怪行为的字符(即当请求被“打印”到服务器日志时)。 - jeffdill2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接