通过相机捕获的照片太大,无法在React native中有效地上传和下载。另外,在最新的iPhone型号(例如X,XS,XSMax和XR)中显示图像时,我也遇到了问题。
我正在使用npm软件包 react-native-image-picker 。虽然效果很好,但是我无法调整图像大小,这是我主要关心的问题!
预期结果:我应该能够调整图像大小并将其上传到服务器,并在所有手机中查看。
实际结果:我无法调整图像大小,也无法在iPhone X和其他最新iPhone机型上查看图像。
答案 0 :(得分:0)
您可以使用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表示最高压缩(最低质量)。
有关更多信息,请参见Image Manipulator docs