input[type=file] 獲取上傳檔案的內容

風靈使發表於2018-11-24

上程式碼:

<input type="file" name="file" id="fileUpload">

jquery:

   $("#fileUpload").change(function () {
        console.log($("#fileUpload")[0].files);
    });

列印結果:
在這裡插入圖片描述


input file 讀取檔案內容

<!DOCTYPE html>
<html lang="en">
<head>
    <title></title>
    <script src="js/jquery.min.js" type="text/javascript"></script>  
    <script type="text/javascript">        
        if(typeof FileReader == "undified") {
            alert("您老的瀏覽器不行了!");
        }
        function showDataByURL() {
            var resultFile = document.getElementById("fileDemo").files[0];
            if (resultFile) {
                var reader = new FileReader();                
                reader.readAsDataURL(resultFile);
                reader.onload = function (e) {
                    var urlData = this.result;
                    document.getElementById("result").innerHTML += "<img src='" + urlData + "' alt='" + resultFile.name + "' />";
                }; 

            }

        } 
        function showDataByBinaryString() {
              var resultFile = document.getElementById("fileDemo").files[0];
            if (resultFile) {
                var reader = new FileReader();
                //非同步方式,不會影響主執行緒
                reader.readAsBinaryString(resultFile);

                reader.onload = function(e) {
                    var urlData = this.result;
                    document.getElementById("result").innerHTML += urlData;
                };
            }
        }
        function showDataByText() {
            var resultFile = document.getElementById("fileDemo").files[0];
            if (resultFile) {
                var reader = new FileReader();

                reader.readAsText(resultFile,'UTF-8');
                reader.onload = function (e) {
                    var urlData = this.result;
                    document.getElementById("result").innerHTML += urlData;
                };
            }
        }
    </script>
</head>
<body>
    <input type="file" name="fileDemo" id="fileDemo" multep/>
    <input type="button" value="readAsDataURL" id="readAsDataURL" onclick="showDataByURL();"/>
    <input type="button" value="readAsBinaryString"  id="readAsBinaryString" onclick="showDataByBinaryString();"/>
    <input type="button" value="readAsText"  id="readAsText" onclick="showDataByText();"/>
    <div id="result">

    </div>

</body>
</html>

監聽input上傳檔案,獲取檔名稱

在這裡插入圖片描述

<div class="import-box pr" >
    <span class="model-address-txt">匯入檔案:</span>
    <input type="text" class="address-input Js_address-input input-wid" readonly>
    <label class="file-box" for="file">
        <span class="look-file">瀏覽</span>
        <input id="file" type="file" class="file-input Js_file-input" >
    </label>
</div>
//監聽input
$(".Js_file-input").on("change",function (e) {
   var e = e || window.event;
   //獲取 檔案 個數 取消的時候使用
   var files = e.target.files;
   if(files.length>0){
       // 獲取檔名 並顯示檔名
       var fileName = files[0].name;
       $(".Js_address-input").val(fileName);
   }else{
       //清空檔名
       $(".Js_address-input").val("");
   }
});

獲取event下的targetname值,利用length為判斷條件,小夥伴,可以先列印一下看看,這樣利於理解,不喜勿噴!謝謝

相關文章