文件上傳

//文件名稱採用的是js原生獲取方式
var file = document.getElementById("cover_img").files[0];
//利用FormData傳送文件  append添加須要的數據 var fileObj = new FormData(); fileObj.append('imageFile', file); fileObj.append('fileName', file.name);
//利用XMLHttpRequest對象向後臺發送文件 var xhr = new XMLHttpRequest();
//請求方式,路徑, xhr.open('post','url',true);
//返回值 xhr.onload = function () { if(xhr.readyState == 4 && xhr.status == 200){   var resultData = xhr.responseText;   if(resultData == ''){     layer.close(updateIndex)     layer.alert("保存成功")   }else{     var result = $.parseJSON(resultData);     layer.alert(result.msg);   }
} else {   alert("請聯繫管理員");   return;   }; };
//發送請求 xhr.send(fileObj);

  注:javascript

    文件上傳方式有多種;java

    可是ajax利用FormData對象傳輸文件,後臺接收不到文件,具體緣由不明,有待繼續驗證ajax

下面補上ajax上傳方式,經測試能夠上傳json

    var TESTFILE = document.getElementById("TESTFILE").files[0];
    var formData = new FormData();
     formData.append("file", TESTFILE);
     formData.append("fileName", TESTFILE.name);
     $.ajax({
        url:"${pageContext.request.contextPath}/videomanager/TESTFILE.json",
        type:"post",    //  必須爲post,基礎,不解釋
        data:formData,
        dataType:"json",      //cache: false,  關閉緩存,必定不要加,不然會接收不到參數,ajax傳遞數據靠的就是緩存,關閉以後如何才能傳遞參數?只要返回值嗎?在這裏吐槽下說讓加的,是何居心?
        processData:false,  //必須參數  序列化參數
        contentType:false,  //必須參數  內容類型,不錯的一個屬性,能夠查查資料瞭解瞭解,具體做用就是能夠將複雜的參數傳遞到後臺
        success:function(result){
            console.log(result);
        },
        error:function(){
            alert("error");
        }
     }); 
相關文章
相關標籤/搜索