一、傳統表單提交傳輸方式
<form id= "uploadForm" action= "url" method= "post" enctype ="multipart/form-data"> <h1 >測試通過Rest接口上傳文件 </h1> <p >上傳文件: <input type ="file" name="file" /></p> <p >關鍵字1: <input type ="text" name="keyword" /></p> <input type ="submit" value="上傳"/> </form>
二、ajax提交方式傳輸 (注意紅色字體區域 -- 設置enctype)
<form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file" name="file"/> <button id="upload" type="button">upload</button> </form> <script>
$('#upload').click(function(){
$.ajax({ url: 'upload', type: 'POST', cache: false, data: new FormData($('#uploadForm')[0]), processData: false, // 不進行數據處理 contentType: false }).done(function(res) { }).fail(function(res) {});
});
</script>
三、關於ios對 new FormData 兼容
蘋果部分機型(如iphone6),new FormData 無法使用set/get方法,只能使用append方法設置值。