【问题标题】:How to add multiple files into a array and access files one by one in AngularJs如何在AngularJs中将多个文件添加到数组中并逐个访问文件
【发布时间】: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


【解决方案1】:

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

Upload multiple files in angular

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

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

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

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

【讨论】:

  • 谢谢,这是我一直在寻找的东西。
  • 如何读取文件内容?是否可以将文件 obj 列表发送到服务器端并访问这些文件 obj?
  • 使用此代码stackoverflow.com/questions/6211145/…并重写上传功能
猜你喜欢
  • 2017-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 1970-01-01
相关资源
最近更新 更多