我想显示位于图库中服务器的文件夹中的所有图像.
有没有办法只使用JavaScript或JQuery从文件夹中返回所有图像文件名的列表?
另外,我想仅使用JavaScript计算类似文件夹中的图像文件数.
有没有办法只使用JavaScript计算文件夹中的图像文件数?
我正在使用node-webkit,我正在尝试让用户选择一个文件夹,然后我将返回该文件夹的目录结构并递归获取其子文件.
我用这个代码(在Angular Controller中)可以很简单地工作.
var fs = require('fs');
$scope.explorer=[];
$scope.openFile = function(){
$scope.explorer = [tree_entry($scope.path)];
get_folder($scope.path, $scope.explorer[0].children);
};
function get_folder(path, tree){
fs.readdir(path, function(err,files){
if (err) return console.log(err);
files.forEach( function (file,idx){
tree.push(tree_entry(file));
fs.lstat(path+'/'+file,function(err,stats){
if(err) return console.log(err);
if(stats.isDirectory()){
get_folder(path+'/'+file,tree[idx].children);
}
});
});
});
console.log($scope.explorer);
return;
}
function tree_entry(entry){
return { label : entry, children: []}
}
使用具有22个子文件夹和大约4个级别的中等大小的文件夹,需要几分钟才能获得整个目录结构.
有什么东西我在这里显然做错了吗?我不敢相信这需要很长时间,因为我正在使用内置的Node fs方法.或者有没有办法获取目录的全部内容而不触及每个文件?
我希望能够在树的所有方向上对文件名使用Angular过滤器,也可能在内容上使用Angular过滤器,因此延迟处理整个树并不是一个可行的解决方案.
我正在使用非常好的jquery插件blueimp/jQuery-File-Upload
$('#fileupload').fileupload({
autoUpload: true
, filesContainer: '#attachments_presentation tbody'
, stop: function (e) {
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
而且我无法做一些非常简单的事情:获取上传文件列表
(在服务器上显示其名称)
首先,我天真地虽然它将存储在文件输入,所以我可以得到列表
$('#fileupload').val();
Run Code Online (Sandbox Code Playgroud)
但事实并非如此,所以我对此感到满意
$('#fileupload').fileupload('getfiles');
Run Code Online (Sandbox Code Playgroud)
我无法从文档中找到方法
有人能告诉我如何在服务器中获取上传文件名列表吗?
更新
我想在服务器上获取上传的文件名,以便以后能够管理它们.
例如:
trutruc.pdftest.pngtrutruc.pdf那么服务器中的当前文件列表应该是test.png,trutruc (2).pdf
更新2