摘要:还特别介绍一种用使用对象上传文件的方法。设置为上传文件不需要缓存。用上传文件因为不是所有浏览器都支持的,所以有时候需要用来实现文件上传的功能。
用AJAX上传文件,一般都是用FormData对象。
FormData对象,是可以使用一系列的健值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个“表单”。
FormData的使用
创建一个空的FormData对象,然后再用append方法逐个增加键值对
var formdata = new FormData();
formdata.append("name","xx");
formdata.append("flie", filename);
取得form元素对象,将它作为参数传入FormData对象中。
var formOjb = document.getElementById("form");
var formdata = new FormData(formOjb );
利用form元素对象的getFormData方法生成它
var formobj = document.getElementById("form");
var formdata = formobj.fetFormData();
formdata是一个不透明的对象,现在暂时只有一个append可以操作,不能通过序列化手段得到其里面的内容。它的用法也只有一个,用于增强型的XMLHttpRequest对象的send方法中去。
var formEl = document.getElementById("form"); formData = formEl.getFormData(); formData.append("serialnumber", serialNumber++); xhr.send(formData);
还特别介绍一种用jQuery使用formData对象上传文件的方法。
使用HTML代码
javascript代码
$.ajax({ url: "/upload", type: "POST", cache: false, data: new FormData($("#uploadForm")[0]), processData: false, contentType: false }).done(function(res) { }).fail(function(res) {});
注意点:
processData设置为false。因为data值是formData对象,不需要对数据进行处理。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/81929.html
摘要:当用户完成选择文件动作时,提交子页面中的。从此我们上传文件就欢欣鼓舞的来找了。因为的核心是对象,异步的实现是通过一个对象,一般简称该对象对。这些回答基于自己理解,如有不妥,希望路过的大神轻喷,指正。 背景 平时工作中经常会遇到需要上传文件的情况,如果你用ant design 或者element ,它们都提供了上传的组件。 我们分别来看一下element 和 antd 手动上传怎么处理:...
摘要:概述文件上传是一个很常见的需求,实现文件上传的技术也很多。帮助文档模拟无刷新的文件上传功能页面无刷新上传文件模拟,超简单为什么上传文件的表单里要加个属性接口对象的介绍使用对象涉及文章侵权,请邮件告知。 概述 文件上传是一个很常见的需求,实现文件上传的技术也很多。下面就谈谈一些常见的上传技术以及它们的优劣。 传统表单上传 传统表单文件上传估计是运用最广泛和最简单的技术了,说它简单是...
摘要:组件设计的目标是解决用户上传文件的便利性,但是中后台组件的场景是多种多样的,所以可扩展能力是组件不可忽视的另一方面。我们可能的期望是在任何浏览器下交互和都一致的组件。由此我们做出了两个通用的组件文件选择器。 Upload 组件设计的目标是解决用户上传文件的便利性,但是中后台 Upload 组件的场景是多种多样的,所以可扩展能力是 Upload 组件不可忽视的另一方面。 同样为了大家能够...
摘要:最近工作中遇到上传文件问题,主要需求是一步点击上传,兼容,当时用的控件,这两天扒了一下源码,明白了原理拿出来分享一下。组织页面刷新端代码使用模块将文件暂存在目录下。然后绑定的事件,通过取得中的数据。转自无刷新文件上传 最近工作中遇到上传文件问题,主要需求是一步点击上传,兼容ie8+,当时用的dojox/form/uploader控件,这两天扒了一下源码,明白了原理拿出来分享一下。 总体...
阅读 3508·2021-10-09 09:41
阅读 2719·2021-10-08 10:18
阅读 2143·2021-09-10 10:51
阅读 2644·2021-09-10 10:50
阅读 735·2021-09-09 09:33
阅读 3343·2021-09-06 15:14
阅读 2980·2019-08-30 11:06
阅读 3195·2019-08-29 14:04