JS-Browser-Load-Local-File

瀏覽器端怎么載入本地文件?

  • 首先要創(chuàng)造一個input元素,click它觸發(fā)選擇文件的彈窗
  • 然后給它一個監(jiān)聽,選擇文件change的時候執(zhí)行觸發(fā)動作
  • 觸發(fā)動作使用FileReader讀取文件,再觸發(fā)讀取成功后的內(nèi)容操作

主要代碼

let file_input = document.createElement('input')
        file_input.setAttribute('accept', ".mdr")
        file_input.addEventListener("change", (evt) => {
            let f = evt.target.files ? evt.target.files[0] : null
            if (!f) return
            var reader = new FileReader()
            reader.onload = function (e) {
                var contents = e.target.result
                var xobj = null
                try {
                    xobj = JSON.parse(contents)
                    console.log('xobj', xobj)
                } catch (err) {
                    console.log('>LoadRules:ERR:', err.message)
                }
                if (xobj) {
                    that.setState({
                        xobj: xobj
                    })
                }            
            }
            reader.readAsText(f);
        }, false)
        file_input.type = 'file'
        file_input.click()

注意,雖然設(shè)置了accept屬性限定文件類型,但有時候沒有作用
JSON.parse可能異常,需要做try捕捉


致力于讓一切變得簡單

如果您發(fā)現(xiàn)文章錯誤,請不吝留言指正;
如果您覺得有用,請點(diǎn)喜歡;
如果您覺得很有用,歡迎轉(zhuǎn)載~


END

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,803評論 1 45
  • 穿舊的牛仔衣褲,你有幾種處理辦法? 可也有想過親手改造它們? 有沒有動心?想不想試試?喜歡就自己來創(chuàng)作吧! 本周日...
    b4d9549fb877閱讀 666評論 0 0
  • 第七章 小山的憤怒 小山和蘇劍一起來到了擂臺上,臺下看熱鬧的人越聚越多。有些人是想看小山挨揍,然后痛哭流涕低頭下跪...
    易可風(fēng)閱讀 365評論 0 2
  • An ideal college should be a community a place of cloce n...
    淡藍(lán)色的晴閱讀 680評論 0 1

友情鏈接更多精彩內(nèi)容