Я пытаюсь сжать изображения с помощью mozjpeg , когда я реализовал его в node.js в соответствии с документацией, он работал нормально.
const input = fs.readFileSync("in.ppm");
const out = mozjpeg.encode(input, { quality: 85 });
Мне нужно выполнить сжатие на на стороне клиента, поэтому я попытался сделать то же самое с реактивом-родным, так как реактив-натив не содержит модулей базовых узлов, таких как fs, мне нужно go для сторонней библиотеки act-native-fs для чтения файла.
Когда я пытался выполнить mozjpeg.encode(input, { quality: 85 });
в реактивном режиме, он выбрасывает Unrecognized input file format --- perhaps you need -targa
реализация на стороне сервера
const mozjpeg = require("mozjpeg-js");
const fs = require("fs");
const input = fs.readFileSync(filePath);
const out = mozjpeg.encode(input, { quality: 85 });
console.error(out.stderr);
fs.writeFileSync("out.jpg", out.data);
client- сторонняя реализация
fs.readFile(image.path).then(data => {
const out = mozjpeg.encode(data, { quality: 85 });
console.log(out);
}
Вот список того, что я пробовал
- Попытка ввода ввода в шестнадцатеричном, буферном, base64 и обычном виде строки URL.
- Поскольку Android URL содержит
file://
в качестве префикса. Я также пытался удалить их.