本帖最后由 Clark.Pan 于 2023-3-27 09:46 编辑
都可以,网上有很多类似教程例如:
https://segmentfault.com/a/1190000020032880
ajax本质还是xhr
传输Blob类型数据需要使用FormData对象,是因为在实际传输过程中,XHR对象默认使用的是application/x-www-form-urlencoded格式,这种格式不支持文件上传等二进制数据传输。而FormData对象可以通过特殊的方式将二进制数据以multipart/form-data格式进行编码,所以可以用来传输二进制类型的数据,比如Blob对象。 FormData对象的append()方法可以接受三个参数,第一个参数是字段名,第二个参数是字段值,第三个参数是文件名称,可以将文件加入到表单中。而使用XHR对象发送数据的时候,可以将FormData对象传入send()方法中,这样浏览器就会自动识别Content-Type请求头,并将数据封装成multipart/form-data格式发送。因此,FormData对象是在传输Blob类型数据时必须使用的一种方式。
|