通過ajax上傳multipart檔案
阿新 • • 發佈:2019-02-15
使用FormData物件,是可以使用一系列的鍵值對來模擬一個完整的表單,然後使用XMLHttpRequest傳送這個"表單"。
html:
<form id="uploadForm" enctype="multipart/form-data">
<input id="file" type="file" name="file"/>
<button id="upload" type="button">upload</button>
</form>
javascript:
這裡要注意幾點:$.ajax({ url: "/upload", type: 'POST', cache: false, data: new FormData($("#uploadForm")[0]), processData: false, contentType: false, success: function (result) { }, error: function (err) { } });
- processData設定為false。因為data值是FormData物件,不需要對資料做處理。
- <form>標籤新增enctype="multipart/form-data"屬性。
- cache設定為false,上傳檔案不需要快取。
- contentType設定為false。因為是由<form>表單構造的FormData物件,且已經聲明瞭屬性enctype="multipart/form-data",所以這裡設定為false。