Сохранение изображения в локальной файловой системе с использованием node.js - PullRequest
0 голосов
/ 02 августа 2020

Я работал над простым кодом для загрузки отсутствующих изображений с сайта и сохранения их в локальной системе с учетом полного URL-адреса. Я могу получить данные в двоичном формате в качестве ответа, а также могу правильно их сохранить. Но когда я пытаюсь открыть изображение, оно показывает, что формат не поддерживается системой. Я попытался сохранить файлы js и css, и они сохраняются правильно, и я также могу их просмотреть. Но у меня проблема со всеми форматами изображений. Вот код, который я написал:

try {
  response = await axios.get(domain + pathOfFile);
  console.log(response);
  fs.writeFile(localBasePath + pathOfFile, response.data, "binary", (error) => {
    if (error) console.log("error while writting file", error.message);
  });
} catch (error) {
  console.log("error in getting response", error.message);
}

domian : содержит базовый домен сайта pathOfFile : содержит путь к файлу в этом домене localBasePath : базовая папка, в которой мне нужно сохранить изображение Я даже попытался сохранить ответ в буфере, а затем попытался сохранить изображение, но все равно столкнулся с той же проблемой. Мы будем благодарны за любые предложения.

1 Ответ

0 голосов
/ 02 августа 2020

Вам необходимо определить responseEncoding при вызове метода axios.get.

Измените свою строку на:

response = await axios.get(domain + pathOfFile, {responseEncoding: "binary"});
...