ajax方式上傳檔案

2021-07-29 10:58:40 字數 1459 閱讀 8526

借助formdata實現表單的序列化,完成檔案上傳

此時不是借助表單提交方式,所以enctype屬性可以去掉

1.表單方式

$("button[data-action='upload']").on("click", function()/file/ajaxupload.do";

var formdata = new formdata($("#fileform")[0]);

ajaxupload(url, formdata);

});

$("button[data-action='upload2']").on("click", function()/file/ajaxupload.do";

// 資料

var formdata = new formdata();

// 檔案

var files = $("#fileform input[name='upload']")[0].files;

if(files != null && files.length > 0)

ajaxupload(url, formdata);

});

**:

上傳的檔案解析和通過表單上傳相同,多了通過@responsebody返回json,相應可以在前台給出上傳的結果;

(1)web經常使用的功能之一是表單資料的序列化,xmlhttprequest 2級為此定義了formdata型別。formdata為序列化表單以及建立與表單格式相同的資料(用於通過xhr傳輸)提供了便利。

(2).formdata可用於上傳檔案,而對於$("#fileform").serialize()只能序列化普通資料

(3).使用formdata不必明確設定請求頭部,xhr物件能識別傳入資料的型別是formdata例項,並配置適當的頭部資訊。

(4).現在主流瀏覽器都支援該型別,所以在使用時需要注意一下。具體對於formdata的使用方法參考<

Ajax方式上傳檔案

用到兩個物件 第乙個物件 formdata 第二個物件 xmlhttprequest 目前新版的firefox 與 chrome等支援html5的瀏覽器完美的支援這兩個物件,但ie9尚未支援 formdata 物件,還在用ie6 只能仰天長嘆.有了這兩個物件,我們可以真正的實現ajax方式上傳檔案。...

Ajax方式上傳檔案

用到兩個物件 第乙個物件 formdata 第二個物件 xmlhttprequest 目前新版的firefox 與 chrome 等支援html5的瀏覽器完美的支援這兩個物件,但ie9尚未支援 formdata 物件,還在用ie6 只能仰天長嘆.有了這兩個物件,我們可以真正的實現ajax方式上傳檔案...

Ajax方式上傳檔案

用到兩個物件 第乙個物件 formdata 第二個物件 xmlhttprequest 目前新版的firefox 與 chrome等支援html5的瀏覽器完美的支援這兩個物件,但ie9尚未支援 formdata 物件,還在用ie6 只能仰天長嘆.有了這兩個物件,我們可以真正的實現ajax方式上傳檔案。...