bootstrap-fileinput文件上傳控件的使用


bootstrap-fileinput是基於bootstrap的上傳控件,此控件網上有很多例子。我照着例子做后發現請求無法提交到后台,反復測試后發現,不能禁止預覽(showPreview要設置為true),禁止預覽后fileuploaded則無法響應(實際情況是showPreview=false時, 即便是uploadAsync=true, 也是filebatchuploadsuccess響應返回結果。如果showPreview=true, uploadAsync=true, 才是fileuploaded響應返回結果)。

注意如果出現$("#xxxx").fileinput({}); 不生效的情況請將fileinput.js中最后幾行注釋掉:

/* $(document).ready(function () {
        var $input = $('input.file[type=file]'), count = $input.attr('type') ? $input.length : 0;
        if (count > 0) {
            $input.fileinput();
        }
    }); */

 

 

<link rel="stylesheet" href="css/bootstrapCSS/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrapCSS/bootstrap-theme.min.css">
<link rel="stylesheet" href="css/bootstrapCSS/fileinput.css" />

<div>

<input type="file" name="uploadfile" id="uploadfile" multiple class="file-loading" />

</div>

 

<script type="text/JavaScript" src="js/jQuery.min.js"></script>
<script type="text/javascript" src="js/bootstrap/fileinput.js"></script>
<script type="text/javascript" src="js/bootstrap/fileinput_locale_zh.js"></script>
<script type="text/javascript" src="js/bootstrap/bootstrap.min.js"></script>

<script type="text/javascript">

$("#uploadfile").fileinput({
                language: 'zh', //設置語言
                uploadUrl: "http://127.0.0.1/testDemo/fileupload/upload.do", //上傳的地址
                allowedFileExtensions: ['jpg', 'gif', 'png'],//接收的文件后綴
                //uploadExtraData:{"id": 1, "fileName":'123.mp3'},
                uploadAsync: true, //默認異步上傳
                showUpload: true, //是否顯示上傳按鈕
                showRemove : true, //顯示移除按鈕
                showPreview : true, //是否顯示預覽
                showCaption: false,//是否顯示標題
                browseClass: "btn btn-primary", //按鈕樣式     
                dropZoneEnabled: false,//是否顯示拖拽區域
                //minImageWidth: 50, //圖片的最小寬度
                //minImageHeight: 50,//圖片的最小高度
                //maxImageWidth: 1000,//圖片的最大寬度
                //maxImageHeight: 1000,//圖片的最大高度
                //maxFileSize: 0,//單位為kb,如果為0表示不限制文件大小
                //minFileCount: 0,
                maxFileCount: 10, //表示允許同時上傳的最大文件個數
                enctype: 'multipart/form-data',
                validateInitialCount:true,
                previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
                msgFilesTooMany: "選擇上傳的文件數量({n}) 超過允許的最大數值{m}!",
            });
//異步上傳返回結果處理

$('#uploadfile').on('fileerror', function(event, data, msg) {
            console.log(data.id);
            console.log(data.index);
            console.log(data.file);
            console.log(data.reader);
            console.log(data.files);
            // get message
            alert(msg);

});
//異步上傳返回結果處理

$("#uploadfile").on("fileuploaded", function (event, data, previewId, index) {
               console.log(data.id);
               console.log(data.index);
               console.log(data.file);
               console.log(data.reader);
               console.log(data.files);

                var obj = data.response;
                alert(JSON.stringify(data.success));
                
            });

//同步上傳錯誤處理
       $('#uploadfile').on('filebatchuploaderror', function(event, data, msg) {
            console.log(data.id);
            console.log(data.index);
            console.log(data.file);
            console.log(data.reader);
            console.log(data.files);
            // get message
            alert(msg);
         });
   //同步上傳返回結果處理
   $("#uploadfile").on("filebatchuploadsuccess", function (event, data, previewId, index) {
           console.log(data.id);
               console.log(data.index);
               console.log(data.file);
               console.log(data.reader);
               console.log(data.files);
                var obj = data.response;
                alert(JSON.stringify(data.success));
      });

//上傳前

$('#uploadfile').on('filepreupload', function(event, data, previewId, index) {
        var form = data.form, files = data.files, extra = data.extra,
            response = data.response, reader = data.reader;
        console.log('File pre upload triggered');
    });

</script>

 

經查資料得知,異步上傳處理錯誤和返回結果要處理fileerror和fileuploaded方法;同步上傳處理錯誤和返回結果filebatchuploaderror和filebatchuploadsuccess方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM