摘要:還特別介紹一種用使用對象上傳文件的方法。設(shè)置為上傳文件不需要緩存。用上傳文件因?yàn)椴皇撬袨g覽器都支持的,所以有時候需要用來實(shí)現(xiàn)文件上傳的功能。
用AJAX上傳文件,一般都是用FormData對象。
FormData對象,是可以使用一系列的健值對來模擬一個完整的表單,然后使用XMLHttpRequest發(fā)送這個“表單”。
FormData的使用
創(chuàng)建一個空的FormData對象,然后再用append方法逐個增加鍵值對
var formdata = new FormData();
formdata.append("name","xx");
formdata.append("flie", filename);
取得form元素對象,將它作為參數(shù)傳入FormData對象中。
var formOjb = document.getElementById("form");
var formdata = new FormData(formOjb );
利用form元素對象的getFormData方法生成它
var formobj = document.getElementById("form");
var formdata = formobj.fetFormData();
formdata是一個不透明的對象,現(xiàn)在暫時只有一個append可以操作,不能通過序列化手段得到其里面的內(nèi)容。它的用法也只有一個,用于增強(qiáng)型的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) {});
注意點(diǎn):
processData設(shè)置為false。因?yàn)閐ata值是formData對象,不需要對數(shù)據(jù)進(jìn)行處理。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/81929.html
摘要:當(dāng)用戶完成選擇文件動作時,提交子頁面中的。從此我們上傳文件就歡欣鼓舞的來找了。因?yàn)榈暮诵氖菍ο螅惒降膶?shí)現(xiàn)是通過一個對象,一般簡稱該對象對。這些回答基于自己理解,如有不妥,希望路過的大神輕噴,指正。 背景 平時工作中經(jīng)常會遇到需要上傳文件的情況,如果你用ant design 或者element ,它們都提供了上傳的組件。 我們分別來看一下element 和 antd 手動上傳怎么處理:...
摘要:概述文件上傳是一個很常見的需求,實(shí)現(xiàn)文件上傳的技術(shù)也很多。幫助文檔模擬無刷新的文件上傳功能頁面無刷新上傳文件模擬,超簡單為什么上傳文件的表單里要加個屬性接口對象的介紹使用對象涉及文章侵權(quán),請郵件告知。 概述 文件上傳是一個很常見的需求,實(shí)現(xiàn)文件上傳的技術(shù)也很多。下面就談?wù)勔恍┏R姷纳蟼骷夹g(shù)以及它們的優(yōu)劣。 傳統(tǒng)表單上傳 傳統(tǒng)表單文件上傳估計(jì)是運(yùn)用最廣泛和最簡單的技術(shù)了,說它簡單是...
摘要:組件設(shè)計(jì)的目標(biāo)是解決用戶上傳文件的便利性,但是中后臺組件的場景是多種多樣的,所以可擴(kuò)展能力是組件不可忽視的另一方面。我們可能的期望是在任何瀏覽器下交互和都一致的組件。由此我們做出了兩個通用的組件文件選擇器。 Upload 組件設(shè)計(jì)的目標(biāo)是解決用戶上傳文件的便利性,但是中后臺 Upload 組件的場景是多種多樣的,所以可擴(kuò)展能力是 Upload 組件不可忽視的另一方面。 同樣為了大家能夠...
摘要:最近工作中遇到上傳文件問題,主要需求是一步點(diǎn)擊上傳,兼容,當(dāng)時用的控件,這兩天扒了一下源碼,明白了原理拿出來分享一下。組織頁面刷新端代碼使用模塊將文件暫存在目錄下。然后綁定的事件,通過取得中的數(shù)據(jù)。轉(zhuǎn)自無刷新文件上傳 最近工作中遇到上傳文件問題,主要需求是一步點(diǎn)擊上傳,兼容ie8+,當(dāng)時用的dojox/form/uploader控件,這兩天扒了一下源碼,明白了原理拿出來分享一下。 總體...
閱讀 3681·2021-10-09 09:41
閱讀 2832·2021-10-08 10:18
閱讀 2284·2021-09-10 10:51
閱讀 2767·2021-09-10 10:50
閱讀 957·2021-09-09 09:33
閱讀 3503·2021-09-06 15:14
閱讀 3166·2019-08-30 11:06
閱讀 3361·2019-08-29 14:04