Я использую четкую серверную сторону для подготовки фотографий к веб-приложению.В настоящее время цель состоит в том, чтобы загрузить изображение (формат BMP), загрузить его в острие nodejs, преобразовать в PNG, изменить его размер (уменьшить) и сохранить обратно на диск.Код следующий:
if(resize_pictures){
(...)
console.log('Reducing image size ... ');
fs.readdirSync(input_folder).forEach(file => {
tmp_input_path = path.join(input_folder, file)
tmp_output_path = path.join(tmp_folder_reduced, file)
//Resize
sharp(tmp_input_path)
.png() // Convert to png
.resize(target_width,null)
.flatten()
.toFile(tmp_output_path,
function(err){
if(err){
console.log("Error at reducing size / converting picture : ")
console.log(err)
console.log(tmp_input_path);
console.log(tmp_output_path);
return;
}
})
})
console.log('Image reduction completed.');
Я получаю эту ошибку:
Reducing image size ...
Image reduction completed.
Error at reducing size / converting picture :
[Error: Input file contains unsupported image format]
/home/user/<folder>/16c93ac9f297376b1b44eeeecff141b1f59a239d.bmp
/home/user/<folder>/TMP/16c93ac9f297376b1b44eeeecff141b1f59a239d.bmp
Выходная папка остается пустой.
На самом деле я не понимаю, почему: пути правильные, и поэтому к ним можно получить доступ.Изображения хранятся на диске, пути напрямую рассчитываются на стороне сервера (поэтому проблем с кодированием нет, как я мог бы где-то видеть в этой проблеме).
У кого-нибудь есть идея или решение?