#javascript #node.js #sharp
Вопрос:
Я хотел бы изменить размер и преобразовать изображение перед добавлением в FormData. Я просто много тестировал, например, с библиотекой sharp, но не могу найти решение.
Какой-то код:
formData.append('attachment', fs.createReadStream('sky.jpeg')); //This works fine
Данные формы принимают только JPEG, поэтому, если пользователь выберет png, они должны быть преобразованы.
Я попробовал это:
const trans = await sharp('png.png')
.resize(1024)
.toFormat("jpeg", { mozjpeg: true })
Но вывод не может быть добавлен в FormData, например
formData.append('attachment', trans);
Комментарии:
1. возможно, это только обходной путь, а не отличное решение: дождитесь резкого («png.png»). изменение размера(1024).Форматирование («jpeg»). тоФайл(‘temp/export1.jpeg’); ждите резкого(‘pic.jpeg»).изменить размер(1024).форматировать(«jpeg»). тоФайл(‘temp/export2.jpeg’); FormData.append(‘вложение’, fs.createReadStream(‘temp/export1.jpeg’)); FormData.append(‘вложение’, fs.createReadStream(‘temp/export2.jpeg’)); //после этого удалите файл во временной папке