js 파일 업로드 의 두 가지 유형: FormData, FileReader

1550 단어 JavaScript


업로드
$("input").on("change", function(evt) {
	var $that = $(this);
	var formData = new FormData();
    var files = evt.target.files[0];
    if (!files) {
        return;
    }
    if (files.size >= 20 * 1024 * 1024) { //20M
        ydc.tip.showError("    ,       。");
        return;
    }
    formData.append("files", evt.target.files[0]);//  
    //formData.append("contractId", id); //    
    $.ajax({
        type: "POST",
        url: "/contract/filing/upload",
        enctype: 'multipart/form-data',
        processData: false,
        contentType: false,
        cache: false,
        data: formData,
        beforeSend: function() {
            $that.attr('disabled', 'disabled');
        },
        success: function(data) {
        	$that.removeAttr("disabled");
        },
        error: function(err) {
            $that.removeAttr("disabled");
        }
    })
})

업로드
$("input").on("change", function(evt) {
    var files = evt.target.files[0];
    if (!/image\/\w+/.test(files.type)) {
        ydc.tip.showError("       !");
        $(this).val("")
        return;
    }
    var reader = new FileReader();
    reader.onload = function(event) {
        var base = event.target.result;
        console.log(base)//  base.split(',')[1]      
    };
    reader.readAsDataURL(files);
});

좋은 웹페이지 즐겨찾기