listFolder.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. requirelib("filelib")
  2. function getExt(filename){
  3. return filename.split(".").pop();
  4. }
  5. function isImage(filename){
  6. var ext = getExt(filename);
  7. if (ext == "png" || ext == "jpg" || ext == "jpeg" || ext == "webp"){
  8. return true;
  9. }
  10. return false;
  11. }
  12. function isHiddenFile(filepath){
  13. var filename = filepath.split("/").pop();
  14. if (filename.substring(0, 1) == "."){
  15. return true;
  16. }else{
  17. return false;
  18. }
  19. }
  20. function folderContainSubFiles(filepath){
  21. var results = filelib.aglob(filepath + "/*", "user");
  22. if (results.length > 0){
  23. return true;
  24. }
  25. return false;
  26. }
  27. function dirname(filepath){
  28. var tmp = filepath.split("/");
  29. tmp.pop();
  30. return tmp.join("/");
  31. }
  32. function main(){
  33. //Scan the folder
  34. var results = filelib.aglob(folder, "user");
  35. //Sort the files
  36. var files = [];
  37. var folders = [];
  38. for (var i = 0; i < results.length; i++){
  39. var thisFile = results[i];
  40. if (filelib.isDir(thisFile)){
  41. if (!isHiddenFile(thisFile) && folderContainSubFiles(thisFile)){
  42. folders.push(thisFile);
  43. }
  44. }else{
  45. if (isImage(thisFile)){
  46. files.push(thisFile);
  47. }
  48. }
  49. }
  50. sendJSONResp(JSON.stringify([folders, files]));
  51. }
  52. main();