【发布时间】:2018-07-01 08:40:57
【问题描述】:
是否可以将二进制原始数据添加到表单中,例如在这个data 字段中:
<form action="/upload" method="post">
<input type="hidden" id="data" />
<input type="submit" />
</form>
?
在我的用例中,我想使用toDataURL 将图像从canvas 导出为JPEG,然后将base64 解码为二进制数据,将二进制数据添加到<form> ,即可提交。
为什么我想不只发布 base64 编码的数据?因为我想为客户端节省 1/3 的上传时间/为服务器节省带宽,而且众所周知 base64 比 1.333 倍的二进制数据大。
【问题讨论】:
-
这个stackoverflow.com/a/45698370/6160662 会有所帮助。
-
var formData = new FormData(); formData.append("data", new Blob([data], { type:"application/octet-stream" })); -
@transporter_room_3 是否可以将其添加到
document.getElementById('data')并使用普通的 -
@Viney 这使用 AJAX,是否也可以使用标准
标签: javascript base64 forms