【发布时间】:2023-04-03 08:33:02
【问题描述】:
我正在尝试将多个文件添加到一个文件数组中,然后访问 AngularJs 中的每个文件。到目前为止,我已经创建了一个自定义指令来读取查看一些帖子的文件。它与单个文件一起工作正常。但是我的要求是我想上传多个文件并将它们添加到数组中,然后在访问数据时访问创建的文件数组。我是 AngularJs 的新手,请帮助我实现这一点。
HTML代码sn-p
<div class="input input-file ">
<span class="button"><input on-read-file="readFileContent($fileContent)"
type="file" id="attachments" name="file" data-ng-model="attachments"
onchange="this.parentNode.nextSibling.value = this.value">Browse</span>
<input type="text" placeholder="Attach some files" readonly="">
</div>
用于读取输入文件的自定义指令
var mimeType,fileName;
testModule.directive('onReadFile', function ($parse) {
return {
restrict: 'A',
scope: false,
link: function(scope, element, attrs) {
var fn = $parse(attrs.onReadFile);
element.on('change', function(onChangeEvent) {
var reader = new FileReader();
reader.onload = function(onLoadEvent) {
scope.$apply(function() {
fn(scope, {$fileContent:onLoadEvent.target.result});
});
};
reader.readAsText((onChangeEvent.srcElement || onChangeEvent.target).files[0]);
//Get the Uploaded file mime type
mimeType=(onChangeEvent.srcElement || onChangeEvent.target).files[0].type;
fileName=(onChangeEvent.srcElement || onChangeEvent.target).files[0].name;
});
}
};
});
读取文件内容方法
$scope.readFileContent = function($fileContent){
$scope.content = $fileContent;
};
【问题讨论】:
-
你能添加代码吗?
-
@Kunal Kakkad 这是原始小提琴链接jsfiddle.net/alexsuch/6aG4x 这仅支持单个文件上传,但我想上传多个文件并稍后阅读
标签: javascript angularjs