ajax上傳文件

1、HTML以下ajax

<input type="file" style="display:none;" class="apk-file-open">
<button class="choose-file-load">選擇文件</button>

2、js以下json

    // 點擊按鈕
    $(document).on("click", ".choose-file-load", function () {
        var $this = $(this);
        $this.siblings(".apk-file-open").trigger("click");            // 綁定上傳附件
    })
    // 顯示上傳後的附件
        .on("change",".apk-file-open",function(e){
            var formData = new FormData();
            formData.append("app_url", $(this)[0].files[0], $(this)[0].files[0].name);
            $.ajax({
                url: api.upload,      // 接口
                dataType: 'json',
                type: "POST",
                data: formData,
                /**
                 *必須false纔會自動加上正確的Content-Type
                 */
                contentType: false,
                /**
                 * 必須false纔會避開jQuery對 formdata 的默認處理
                 * XMLHttpRequest會對 formdata 進行正確的處理
                 */
                processData: false,
                success: function (json) {
                    if (json.status == "0") {
                        alert("上傳成功!");
                    }else{
                        alert(json.msg);
                    }
                },
                error: function () {
                    alert("上傳失敗!");
                }
            });
        });    

注意: 在上傳時,後臺接收不到數據,有多是文件大小超出了設置的大小,須要改PHP配置文件api

相關文章
相關標籤/搜索