2014-01-25 112 views
4

我不知道如何去做这个有角度的方式。AngularJS文件资源管理器

我想实现类似如下的文件浏览器:example 1example 2

功能应该实现的是:

  • 显示文件和文件夹在当前目录下点击
  • 能力文件夹来扩展它们(例如)

所以我现在有一个文件列表和fo lders作为路径数组。这是由onDrop或onChange事件(从拖放或输入)生成的。

有关如何实现此目的的任何建议?

回答

5

采取看看@angular-filemanager

FileNavigator.prototype.buildTree = function(path) { 
    var self = this; 
    var recursive = function(parent, file, path) { 
     var absName = path ? (path + '/' + file.name) : file.name; 
     if (parent.name && !path.match(new RegExp('^' + parent.name))) { 
      parent.nodes = []; 
     } 
     if (parent.name !== path) { 
      for (var i in parent.nodes) { 
       recursive(parent.nodes[i], file, path); 
      } 
     } else { 
      for (var i in parent.nodes) { 
       if (parent.nodes[i].name === absName) { 
        return; 
       } 
      } 
      parent.nodes.push({name: absName, nodes: []}); 
     } 
    }; 

    !self.history.length && self.history.push({name: path, nodes: []}); 
    for (var i in self.fileList) { 
     var file = self.fileList[i].model; 
     file.type === 'dir' && recursive(self.history[0], file, path); 
    } 
}; 
0

尝试Angular Filesystem Reader

一个角度服务实现,通过从指定的根目录开始遍历文件系统,以异步和同步的方式通过扩展来查找文件。独占和/或可忽略的目录也可以被指定。可用于访问结果的三个选项:回调,Promise(同步)和/或活动数组(异步)。