小编Bad*_*dri的帖子

react-native中的图像压缩

当我根据它工作正常的文档在 node.js 中实现它时,我试图用mozjpeg压缩图像。

const input = fs.readFileSync("in.ppm");
const out = mozjpeg.encode(input, { quality: 85 });
Run Code Online (Sandbox Code Playgroud)

我需要在客户端进行压缩,所以我尝试对 react-native 做同样的事情,因为 react-native 不包含 fs 等核心节点模块,我需要去第三方库react-native -fs用于文件读取。

当我尝试mozjpeg.encode(input, { quality: 85 });在 react-native 中执行时,它会抛出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);
Run Code Online (Sandbox Code Playgroud)

客户端实现

fs.readFile(image.path).then(data => {
    const out = mozjpeg.encode(data, { quality: 85 …
Run Code Online (Sandbox Code Playgroud)

javascript android image-compression react-native mozjpeg

6
推荐指数
1
解决办法
3509
查看次数