gpt4 book ai didi

javascript - 如何将多个文件添加到数组中并在AngularJs中一个一个地访问文件

转载 作者:行者123 更新时间:2023-11-29 15:31:00 25 4
gpt4 key购买 nike

我正在尝试将多个文件添加到一个文件数组中,然后在 AngularJs 中访问每个文件。到目前为止,我已经创建了一个自定义指令来读取查看一些帖子的文件。它在单个文件中工作正常。但是我的要求是我想上传多个文件并将它们添加到数组中,然后在访问数据时访问创建的文件数组。我是 AngularJs 的新手,请帮助我实现这一目标。

HTML 代码片段

    <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;
};

最佳答案

我建议查看 StackOverflow 上的这篇文章:

Upload multiple files in angular

其中一个答案包含这个工作示例:

http://plnkr.co/edit/B13t84j5IPzINMh1F862?p=preview

它使用一个名为 ng-file-model 的指令:

<input type="file" ng-file-model="files" multiple />

关于javascript - 如何将多个文件添加到数组中并在AngularJs中一个一个地访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34916811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com