2015-05-01 70 views
0

新手到HTML5文件上傳功能,並發現我不能得到一個簡單的XML文件上傳,並能夠獲取文件內容到控制檯。預期的行爲是我選擇一個XML文件,然後看到在控制檯中呈現的內容。但是,我沒有去過console.log步驟 - 似乎讀者從未加載?任何建議來解決將不勝感激。HTML5文件上傳腳本沒有加載文件

<input type="file"></input> 
    <script> 
var upload = document.getElementsByTagName('input')[0]; 
    upload.onchange = function (e) { 
     e.preventDefault(); 
     var file = upload.files[0], reader = new FileReader(); 
     reader.onload = function (event) { 
     console.log('evt',reader.readAsText(file)); 
     }; 


    return false; 
}; 
</script> 

回答

0

所以你的reader.onload事件設置的功能,但你需要調用此之外reader.readAsText()功能。

因此,例如,你的代碼更改爲:

reader.onload = function(event) { 
    console.log(event); 
}; 
reader.readAsText(file); 

這樣做是告訴reader,當你調用reader.readAsText(file)它應該運行你reader.onload定義的功能。

你以前在做什麼都不會加載文件,因爲你只是告訴讀者在你的函數回調裏面有readAsText,你告訴它在加載時運行!

+0

哈!我廣泛的js技能脫穎而出。感謝Mike提供的非常迅速的幫助。我正在看它,但只是無法看到它,如果這是有道理的... – user1517566