將經過上傳的txt文件存儲在localStorage,提取並構建File對象

參考博文:
  JS 之Blob 對象類型
  在本地存儲localStorage中保存圖片和文件

html

<input type="file" id="jobData" onchange="loadFile(this.files[0])">

<script>
    var filename_1 = localStorage.getItem("filename_1");//存在localStorage中的文件名
    var fileresult_1 = localStorage.getItem("fileresult_1");//存在localStorage中的文件內容(string)
    //若localStorage已有該項
    if(filename_1 && fileresult_1){
        //storageFile:經過localStorage中的文件內容和文件名構建的File對象
        var storageFile = new File([fileresult_1], {"type":"text/plain"});//File繼承自Blob,能夠用Blob的構造函數
        Object.defineProperty(storageFile,'name',{value:filename_1});
//        console.log(storageFile);
    }

    function loadFile(file){
        var fileReader = new FileReader();
        fileReader.onload = function () {
            var result = this.result;//文件內容
            //肯定,將文件保存到本地存儲中,替換現有的
            try {
                localStorage.setItem("filename_1", file.name);
                localStorage.setItem("fileresult_1", result);
            }
            catch (e) {
                console.log("Storage failed: " + e);
            }
        };
        fileReader.readAsText(file);
    }

</script>
相關文章
相關標籤/搜索