10

可能重复:
如何使用 Javascript 编码为 Base64?

我有一个基于 Java、Wicket 和 JQuery 的 Web 应用程序,它具有使用户能够通过 multipart/form-data 上传文件(图像、pdfs、rtf)的功能。

我们的网络安全基础设施过滤所有 http 流量以获取可能的恶意内容,例如 XSS 攻击、SQL 注入、缓冲区溢出等

该过滤器不区分普通文本输入字段和文件数据,因此它会从许多上传的二进制文件中提取误报,从而阻止这些文件被上传。我无法更改安全策略。

似乎最好的解决方法是将文件数据进行 base-64 编码,以便使用 Content-Transfer-Encoding:base64 发送,类似于电子邮件客户端所做的。

有什么方法可以指示浏览器将二进制传输为 base64 或其他一些非二进制格式?

如果没有,是否可以使用一些 JavaScript 手动完成?

4

1 回答 1

4

看来您可以Content-Transfer-Encoding: base64
从 W3C 设置报价:

如果该部分的值不符合默认(7BIT)编码,则可以对每个部分进行编码并提供“Content-Transfer-Encoding”标头

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2

前提是您使用的 Java Web Server 不包含参数Content-Transfer-Encoding

于 2012-06-22T04:55:53.483 回答