如何在基于字符的编码中发布二进制html多部分表单数据?

Dav*_*vid 8 html javascript jquery wicket

我有一个网页,允许用户使用multipart/form数据上传文件(即使用input type ="file"标签).但是,这里有一个Web内容安全过滤器,它有效地阻止了提交的二进制表单数据.

是否可以将二进制格式数据转换并作为字符数据发送(例如base64)?优选地,如果可能的话,这将由浏览器通过声明性指令自动完成.我想这不是,但我想我会问.

否则,是否可以通过编程方式完成,以便某些JavaScript拦截表单提交并更改使用表单数据上传的文件内容?

基于检票口和/或jquery的解决方案是优选的.

注意:我不是在询问如何在JavaScript中进行base64编码.请不要在没有真正理解问题的情况下将此标记为重复,因为投票结束我的第一次尝试问题的五个人也是如此!如何将二进制多部分formdata作为base64发送?

问题更多的是如何在多部分表单提交的上下文中进行任何此类编码.

Dav*_*vid 1

好的,经过更多研究后,我将就我自己的问题给出答案。

尽管问题不同,但这个关于SO的问题间接提供了答案。

是否可以从 javascript 中的 <input type=file> 拦截文件?

基本上,似乎没有标准方法(无论如何,在 HTML4 中,在 HTML5 中看起来是可能的)从浏览器访问所选文件的实际内容)

因此,在将上传的文件发送到浏览器之前,不会对其进行重新编码。