如何将二进制多部分formdata作为base64发送?

时间:2012-06-22 03:50:01

标签: javascript jquery html wicket

  

可能重复:
  How can you encode to Base64 using Javascript?

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

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

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

最好的方法是将文件数据进行base-64编码,以便与Content-Transfer-Encoding:base64一起发送,类似于电子邮件客户端。

有没有办法指导浏览器将二进制转换为base64或其他非二进制格式?

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

1 个答案:

答案 0 :(得分:2)

您似乎可以设置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服务器没有插入参数Content-Transfer-Encoding

相关问题