FileReader对象和FormData对象

简介: FormData对象一、概述FormData就是表单数据,我们提交表单所用的数据,H5里新加了FormData对象,可以让我们对表单数据进行操作,甚至自己组装表单数据进行提交,而不是单纯的仅仅是页面上表单里的元素。

FormData对象

一、概述

FormData就是表单数据,我们提交表单所用的数据,H5里新加了FormData对象,可以让我们对表单数据进行操作,甚至自己组装表单数据进行提交,而不是单纯的仅仅是页面上表单里的元素。

FormData对象的使用:

1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组长成一个queryString

2.异步上传二进制文件

二、使用

1、构造函数返回一个FormData对象,FormData对象的操作方法,全部在原型中,自己本身没有任何的属性及方法

img_ebde989fc6145f5799c3231c7bdf4e27.png
img_fd50b8248c534bdaee368ddab1640909.png

2、使用formData对象发送文件

img_3103e64ab156abb515254370862cb0df.png

注意1:使用jQuery

img_f05ad62478a5bb4c2c1d181088d0ec81.png

注意2:参数

一个HTML表单元素,可以包含任何形式的表单控件,包括文件输入框,参数可选

new FormData的参数是一个DOM对象,而非jQuery对象

var formData = new FormData($('#file')[0])

三、jQuery的参数序列化方法serialize()

序列表表格内容为字符串,用于 Ajax 请求。 

$("form").serialize()

四、FormData对象的方法

append

给当前formData对象添加一个键/值对 formData.append('name',value);formData.append('grade','5').............组装出来form数据后我们可以通过表单或者AJAX往后台发送请求。



FileReader对象

FileReader对象允许web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用file或者blob对象置顶要读取的文件或者数据

其中File对象可以是用户在一个元素上选择文件后返回的fileList对象,也可以来自拖放操作生成的Datatransfer对象,还可以是在HTM;CanvasElement上执行mozGetAsFile()方法后返回结果

构造函数

FileReader() return a newly constructed FileReader返回一个FileReader对象。

方法

img_04a9a5c58519ccf662224ee1d5ee6a8d.png

处理方法:

img_02d2f10e0291c5005cc8051d3aad6ed4.png

其中我们可以使用readAsDataURL()在文件读取完毕后读取为base64然后可以实现简单的本地图像预览。

其中,处理方法的主要程序如下,将处理封装成函数

img_20bd4665c1a6b617a99502945c1a049e.png

参考文档:https://www.jianshu.com/p/97e76a00a9e9

相关文章
|
7月前
|
Web App开发 XML JavaScript
XMLHttpRequest 对象
10月更文挑战第1天
|
7月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
844 7
|
9月前
|
API 索引
封装QueryString构造函数,实现stringify、parse方法
这段代码实现了一个`QueryString`构造函数,其原型上有两个方法:`stringify`与`parse`。`stringify`方法可以将一个对象转换成查询字符串格式,如将`{a:1,b:2,c:[1,2]}`转换为`'?a=1&b=2&c=1,2'`;而`parse`方法则可以将查询字符串解析回对象。`stringify`方法支持两种实现方式:一种是基础的循环拼接,另一种则是利用ES6的新特性如`Object.keys()`、`map()`与`join()`等简化代码。`parse`方法通过字符串的分割与条件判断,完成从查询字符串到对象的转换。
47 1
|
JavaScript 前端开发 API
document 对象
document对象是JavaScript中最重要的对象之一,它表示当前页面的HTML文档。document对象提供了丰富的属性和方法,允许我们访问、操作和修改HTML文档的结构和内容。
210 3
|
存储 移动开发 缓存
Day23 - document以外的常用对象
Day23 - document以外的常用对象
130 0
两种方式实现浅拷贝 for in实现和Object.assign({}, 对象1, 对象2);
两种方式实现浅拷贝 for in实现和Object.assign({}, 对象1, 对象2);
|
XML Web App开发 缓存
一、所谓“神秘”的XMLHttpRequest对象
一、所谓“神秘”的XMLHttpRequest对象
332 0
|
XML JSON 人工智能
AJAX的进阶使用(Blob,ArrayBuffer,FormData,Document,JSON,Text)
Ajax 即 Asynchronous Javascript And XML (异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。在无需重新加载整个网页的情况下,能够更新部分网页的技术。一般我们使用 XMLHTTPRequest、Fetch API、ActiveXObject(低版本 IE) ,来现实 AJAX 功能。
480 0