首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

浅析 FormData

/zh-CN/docs/Web/API/FormData) 对象,很方便我们直接使用。...我们在控制台实例化一个 FormData 对象,然后打印,如下 使用 可以看到其原型上有很多的方法,个人感觉这个 FormData 跟 Map 有点像,仔细观察可以知道都有 set、get、values...、has 等方法,我们平常开发主要的使用也就是 append 方法了,一般都会封装一层 request,调用层只需要传入参数的对象集合就可以。...FormData 对象能够设置三种类型的值,string、Blob、File,所以我们不需要转换格式,可以直接传文件,当我们传递 File 到 formatData 层,会直接被 append 到 FormData...对象里,且可以通过 get 获取到值,然后发送请求到服务端,我们能从浏览器入参中清晰的看到 d 、e 参数的类型是 binary,因为就是二进制的文件类型,这样服务端接到值之后很方便获取。

1.6K10

如何使用FormData上传压缩裁剪后的图片Blob对象

toDataURL来得到图片的Base64字符串,然后当我们要上传到后台的时候,会面临2种选择: 直接将图片的Base64字符串Post到后端进行处理和保存 在前端将Base64字符串转换成二进制的Blob对象形式...,再使用常规的文件上传形式(即FormData)来将其上传到后端 第一种方式对前端来说比较简单,主要的处理逻辑在后端。...上传压缩裁剪后的图片Blob对象 <input type="file" name="myfile" id="myfile" onchange="uploadHandler...var <em>formData</em> = new <em>FormData</em>(); //注意:此处第3个参数最好传入一个带后缀名的文件名,否则很有可能被后台认为不是有效的图片文件...reader.readAsDataURL(file); }); } /** * 将图片的base64字符串转换为Blob<em>对象</em>

3.3K30

FormData使用方法详解

2、异步上传文件 一、创建formData对象 1、创建一个空对象: //通过FormData构造函数创建一个空对象 var formdata=new FormData(); //可以通过append(...,返回值为数组类型 formdata.getAll("age"); 2、通过append(key,value)在数据末尾追加数据 //通过FormData构造函数创建一个空对象 var formdata...来设置修改数据 key的值不存在,会添加一条数据 //通过FormData构造函数创建一个空对象 var formdata=new FormData(); //如果key的值不存在会为数据添加一个key..."));//laoli key的值存在,会修改对应的value值 //通过FormData构造函数创建一个空对象 var formdata=new FormData(); //通过append()方法在末尾追加...("age"));//false 5、通过delete(key)可以删除数据 //通过FormData构造函数创建一个空对象 var formdata=new FormData(); //通过append

1.6K30

DOMString、Document、FormData、Blob、File、ArrayBuffer (转)

四、家臣之FormData对象 XMLHttpRequest Level 2添加了一个新的接口FormData....FormData对象的作用就类似于这里的serialize()方法,不过FormData是浏览器原生的,且支持二进制文件,是个一眼就会让人喜欢的很赞的东西! ?...您可以狠狠地点击这里:FormData对象与表单数据获取demo ? demo页面为一个普通的登录表单,截图如下: 点击登录执行Ajax登录,不过这里是采用FormData格式发送的。...> FormData对象还有一个方法,为append()方法,可以人为的给当前FormData对象添加一个键/值对。...FormData无法字符串化,因为,无法用做表单序列化。 五、家臣之Blob数据对象 一个Blob对象就是一个包含有只读原始数据的类文件对象

2.7K30

Blob、ArrayBuffer、File、FileReader和FormData的区别

前言 Blob、ArrayBuffer、File、FileReader、FormData这些名词总是经常看到,知道一点又好像不知道,像是同一个东西好像又不是,总是模模糊糊,最近终于下决心要弄清楚。...这些名词里: Blob、ArrayBuffer、File可以归为一类,它们都是数据; FileReader算是一种工具,用来读取数据; FormData可以看做是一个应用数据的场景。...因此,我们首先着重区分Blob、ArrayBuffer、File,然后再对fileReader和FormData做简要介绍。...准确来说,FormData其实与上述内容关系就不大了。...FormData的最大优点就是,比起普通的ajax, 使用FormData我们可以异步上传一个二进制文件,而这个二进制文件,就是我们上面讲的Blob对象

4.8K21

Ajax使用formData提交带图片上传的表单

formDat还是很简单的,有很多加值得方法,后台可以直接用对象接收。 使用ajax提交有很多种方式,说一下使用formDat,直接贴代码。...= "") {                 formData.append("file", file);             }             formData.append("city...",  city);             formData.append("userName", userName);             formData.append("userId", userId...一直接收不到(就是这地方搞了好久) 后来慢慢调错,发现Controller里用String file 就能收的到,就觉得肯定是前台传过来的不对,然后前台alert(file)发现是图片路径,不是Object对象...var file = $("#file")[0].files[0]; 直接new formData(“form...”) 好像也是传的string类型图片。

2.2K10

Ajax文件上传时:Formdata、File、Blob的关系

方法、属性如下: FormData([Form])创建一个新的 FormData 对象,form这种方式创建的FormData对象会自动将form中的表单值也包含进去,包括文件内容也会被编码之后包含进去...delete() 方法会从 FormData 对象中删除指定键,即 key,和它对应的值,即 value。...FormData.entries()返回一个包含所有键值对的iterator对象,遍历的值索引0为key,1为键值。...FormData.get()返回在 FormData 对象中与给定键关联的第一个值。 FormData.getAll()返回一个包含 FormData 对象中与给定键关联的所有值的数组。...FormData.has()返回一个布尔值表明 FormData 对象是否包含某些键。 FormData.keys()返回一个包含所有键的iterator对象

2.8K30

HTML5 FormData 方法介绍以及实现文件上传

FormData 上传文件实例 首先看一下formData的基本用法:FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台。...以下创建了一个表单 form,表单中除了普通的数据外,还有文件上传,我们直接将 form对象作为参数传入FormData对象: name...); return false; } FormData 对象方法介绍 FormData 除了上面的创建新对象时直接将 form 作为参数传入外,还有其他的功能。...网上大部分关于 FormData 介绍的文章都只提到了append()方法,那么FormData 对象到底有些什么方法呢?...()方法用于向 FormData 对象中添加键值对: fd.append('key1',"value1"); fd.append('key2',"value2"); fd是 FormData 对象,可以新建的空的对象

1.8K30
领券