如何发送二进制多FORMDATA为base64? [重复](How to send binary

2019-07-30 01:52发布

可能重复:
你怎么可以编码为Base64使用Javascript?

我有具有这样的功能使用户能够通过多/表单数据上传文件(图片,PDF,RTF)基于Java的,检票和JQuery Web应用程序。

我们的网络安全基础设施做了所有的HTTP流量进行过滤回暖可能的恶意内容如跨站脚本攻击,SQL注入,缓冲区溢出等

所以它拿起从众多上传的二进制文件误报,防止这些文件被上传的过滤器不正常文本输入字段和文件数据进行区分。 我不能改变安全策略。

看来,解决这个问题的最好的办法就是对文件数据是base64编码,使其与内容传输编码发送:类似于电子邮件客户端做的base64。

有没有办法直接在浏览器传输二进制为base64或其他一些非二进制格式?

如果不是,难道是手动一些JavaScript做了什么?

Answer 1:

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

每一部分可被编码和“内容传输编码”报头供给如果该部分的值不符合默认(7BIT)编码

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

提供在使用您的Java Web服务器不则会忽略参数Content-Transfer-Encoding



文章来源: How to send binary multipart formdata as base64? [duplicate]