2017-04-19 80 views
0

我試圖讓用戶上傳CSV文件,以便可以顯示和驗證值。我不想直接將文件上傳到服務器,我希望只在範圍內,直到它被驗證。角度上傳csv文件到示波器不會發布到服務器

Angular 1.5.8無法將輸入類型的文件綁定到模型see here 所以我在使用angular-file-upload,但所有選項似乎都需要上傳到服務器。我無法找到一個能夠幫助我獲得輸入類型文件的庫。

所以我的問題是:我怎樣才能獲得一個csv文件到角度範圍?

+0

我的回答對你有幫助嗎? – devnull69

+0

嗨,謝謝你的回答,抱歉我不能給你票我沒有足夠的聲望。我在我的指令的鏈接函數中使用了你的文件讀取器代碼。 'link:(scope,element,attrs) - > uploadFile =(event) - > <您的文件閱讀器代碼> element.bind('change',uploadFile)' – 2chur

+0

但我認爲你可以通過點擊接受答案在投票計數下的複選標記上 – devnull69

回答

1

你可以使用的FileReader對於已經被用戶選擇的文件

您的文件輸入(!):

<input type="file" id="fileInput"/> 

監聽元素的change事件:

document.getElementById("fileInput").addEventListener("change", function(e) { 
    var file = e.target.files[0]; 
    if(!file) 
     return; 

    var reader = new FileReader(); 
    reader.onload = function(e) { 
     var contents = e.target.result; 
     // add it to a $scope variable 
     $scope.fileContent = contents; 
     $scope.$apply(); // if you are outside of the AngularJS digest cycle 
    }; 
    reader.readAsText(file);  
}, false);