Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Loop through all files/images in a folder with Angular

I have an app with some products and each product has a gallery with a different amount of images. Each of the images has a name that is completely random / no correlation with the other image names.

Each of the product images are in /src/assets/images/products/:id/.

I need to add the paths to a gallery component but I can't loop through them because the names are random. Is there any way to just loop through each file from a folder using only Angular? If not can I do it on the back-end without renaming the files? I'm also running the app on a Node.js back-end if that matters.

like image 936
Simeon Nakov Avatar asked Mar 23 '18 08:03

Simeon Nakov


1 Answers

You can't do that with frontend. What you need to is using your back-end and return file in it.

You are using NodeJs as back-end so can use the fs.readdir or fs.readdirSync methods.

fs.readdir

const testFolder = './images/';
const fs = require('fs');

fs.readdir(testFolder, (err, files) => {
  files.forEach(file => {
    console.log(file); // use those file and return it as a REST API
  });
})

fs.readdirSync

const testFolder = './images/';
const fs = require('fs');

fs.readdirSync(testFolder).forEach(file => {
  console.log(file);
})

Read the full documenation, it may help you to how you can proceed.

like image 121
Radonirina Maminiaina Avatar answered Oct 13 '22 03:10

Radonirina Maminiaina