Как сохранить изображения фейера в локальную папку, используя JavaScript? - PullRequest
0 голосов
/ 16 февраля 2020

Я изучаю бэкэнд и хочу использовать библиотеку faker для генерации около 1000 файлов jpg случайных пользовательских изображений в мою локальную папку.

Имя сценария: dummyImages. js

const faker = require('faker');
const makeFakeImage = function() {
  return faker.image.people();
}
makeFakeImage();

Если я запускаю этот скрипт с помощью команды

node dummyImages. js

Я ожидаю, что получить ссылку URL, и я могу сохранить и загрузить файл изображения в мою локальную папку. Однако этот процесс слишком ручной, и это не лучшая практика. Может ли кто-нибудь помочь мне изменить мой сценарий, чтобы он мог автоматически сохранять 1000 файлов изображений фейера в локальную папку с именем файла jpg, изменяющимся от «1» до «1000» (например: 1.jpg 2.jpg et c ...). Я собираюсь вставить все файлы из этой папки в AWS S3 и использовать их в React.

1 Ответ

0 голосов
/ 16 февраля 2020

/* eslint-disable no-plusplus */
const faker = require('faker');
const axios = require('axios');
const path = require('path');
const fs = require('fs');

const url = [];
// 100 fake avatar url from fakter
for (let i = 0; i < 100; i++) {
  url.push(faker.image.avatar());
}


// download 100 user photoes to local image folder
for (let i = 0; i < url.length; i++) {
  // path for image storage
  const imagePath = path.join(__dirname, '../image', `${i}.jpg`);
  axios({
    method: 'get',
    url: url[i],
    responseType: 'stream',
  })
    .then((response) => {
      response.data.pipe(fs.createWriteStream(imagePath));
    });
}

Следующий скрипт работает. Просто убедитесь, что мне нужно npm установить правильные зависимости в пакет. json и папка с именем "image" существует

...