2017-04-19 70 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);