通过相机拍摄的照片太大,无法在 React Native 中高效上传和下载。我也面临在最新的 iPhone 型号(如 X、XS、XSMax 和 XR)中显示图像的问题
我正在使用 npm 包react-native-image-picker。虽然效果很好,但我无法调整图像的大小,这是我主要关心的!
预期的结果:我应该能够调整图像大小并将其上传到服务器以及在所有手机中查看它。
实际结果:我无法调整图像大小,也无法在 iPhone X 和其他最新 iPhone 机型上查看图像。
通过相机拍摄的照片太大,无法在 React Native 中高效上传和下载。我也面临在最新的 iPhone 型号(如 X、XS、XSMax 和 XR)中显示图像的问题
我正在使用 npm 包react-native-image-picker。虽然效果很好,但我无法调整图像的大小,这是我主要关心的!
预期的结果:我应该能够调整图像大小并将其上传到服务器以及在所有手机中查看它。
实际结果:我无法调整图像大小,也无法在 iPhone X 和其他最新 iPhone 机型上查看图像。
您可以使用expo-image-manipulator来压缩图像。
如果您使用 expo 它是预先安装的,您可以直接导入它:
import { ImageManipulator } from 'expo';
const manipResult = await ImageManipulator.manipulateAsync(
image,
[],
{ compress: 0.5 }
);
否则,您必须将其安装为独立包并像这样使用它:
import * as ImageManipulator from 'expo-image-manipulator';
const manipResult = await ImageManipulator.manipulateAsync(
image,
[],
{ compress: 0.5 }
);
compress 必须是 0.0 - 1.0 范围内的值,指定结果图像的压缩级别。1 表示无压缩(最高质量),0 表示最高压缩(最低质量)。
有关更多信息,请参阅图像操纵器文档