我正在使用on change event处理文件上传。未定义错误文件。
//html file
<input type="file" style="display: none;" onchange="angular.element(this).scope().uploadedFile(this)">
//controller file
$scope.file={};
$scope.uploadedFile=function(event,args){
$scope.files=[];
$scope.$apply(function () {
$scope.files.push(args.file);
$scope.file=$scope.files[0];
$scope.load(args.contents);
});
});
答案 0 :(得分:0)
Angular似乎不支持<input type="file"..../>.
的绑定。好像你必须在这里创建一个指令......详细信息。您也可以尝试这个库
答案 1 :(得分:0)
使用onchnage
功能
<input type="file" id="f" accept=".txt,.csv,.jmx " multiple="" onchange="angular.element(this).scope().getFileDetails(this);this.value=null;">
javsacript代码获取文件数据
$scope.files = [];
$scope.getFileDetails = function(e) {
$scope.$apply(function() {
for (var i = 0; i < e.files.length; i++) {
var isFileAvailable = false;
console.log("File Name " + e.files[i].name);
for (var j = 0; j < $scope.files.length; j++) {
if ($scope.files[j].name === e.files[i].name) {
isFileAvailable = true;
break;
}
}
if (!isFileAvailable) {
$scope.files.push(e.files[i]);
} else {
alert("file is already available ::" + e.files[i].name)
}
}
});
}
@refer link:https://stackoverflow.com/a/46708678/7256477
答案 2 :(得分:0)
// html文件
<input type="file" style="display: none;" onchange="angular.element(this).scope().uploadedFile(this)">
//控制器文件
$scope.file={};
$scope.uploadedFile=function(args){
$scope.files=[];
$scope.$apply(function () {
$scope.files.push(args.files);
$scope.file=$scope.files[0];
$scope.load(args.contents);
});
});