Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Angularjs在Safari上多次上传csv文件?_Javascript_Angularjs_Csv_Safari - Fatal编程技术网

Javascript 如何使用Angularjs在Safari上多次上传csv文件?

Javascript 如何使用Angularjs在Safari上多次上传csv文件?,javascript,angularjs,csv,safari,Javascript,Angularjs,Csv,Safari,我已经编写了一个web应用程序,我想上传一个CSV文件。它在Chrome上按预期工作,但在Safari上不起作用 下面是上传文件的Angularjs代码 $scope.uploadFile = function (file) { var name, extension, browser; var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vend

我已经编写了一个web应用程序,我想上传一个
CSV
文件。它在Chrome上按预期工作,但在Safari上不起作用

下面是上传文件的Angularjs代码

$scope.uploadFile = function (file) {
    var name, extension, browser;
    var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);

    if (isSafari) {
        name = file.fileName;
        extension = name.split('.')[name.split('.').length - 1].toLowerCase();

        if (extension != "csv") {
            alert("Selected File is not a valid .CSV file. Please select a .CSV file.");
            return false;
        }
    }

//Code to save file to server

}
下面是调用上述函数的HTML代码

<input id="uploader" type="file" ngf-select="uploadFile(uploadedFile)" 
ng-model="uploadedFile" ngf-max-size="100MB" name="file" 
ngf-accept="'application/csv, text/csv, text/comma-separated-values, *.csv, .csv, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-excel'">

当我第一次单击
input
按钮时,函数被正确调用。所选文件按预期上载。当我第二次尝试上载同一个文件时,问题就开始了。只要我单击
文件选择器,就会调用
上传文件
函数

上述问题仅在Safari中出现,而在Chrome中不会出现

如何修改代码,使每次单击上载文件时,只有在选择文件后才能调用该函数


感谢您阅读我的问题。

您是否找到了此问题的解决方案?没有。仍在搜索答案。我通过放置accept=“.csv,text/csv”来解决此问题。很酷。谢谢你让我知道!你找到这个问题的解决方案了吗?没有。仍在搜索答案。我通过放置accept=“.csv,text/csv”来解决这个问题。很酷。谢谢你让我知道!