我正在使用expo图像选择器选择图像并将其上传到Firebase。
我面临一个问题,即所拾取的图像甚至大于其原始尺寸。例如,如果图像为10 kb,并且在拾取图像后在控制台中获得其大小后,其显示的大小为90 kb。我不知道如何解决这个问题。
async _pickImage() {
const { CAMERA, CAMERA_ROLL } = Permissions;
const permissions = {
[CAMERA]: await Permissions.askAsync(CAMERA),
[CAMERA_ROLL]: await Permissions.askAsync(CAMERA_ROLL)
};
if (
permissions[CAMERA].status === "granted" &&
permissions[CAMERA_ROLL].status === "granted"
) {
var pickerResult = await ImagePicker.launchImageLibraryAsync({
base64: false,
quality: 0.1
});
if (!pickerResult.cancelled) {
console.log(pickerResult);
this.setState({
itemImage: pickerResult.uri
});
this.getFileSize(pickerResult.uri);
原始图像大小仅为10 kb,但是我在拾取图像后在控制台中看到的图像大小为:84 kb。
文件uri是这样的:
"uri": "file:///Users/rishav.kumar/Library/Developer/CoreSimulator/Devices/9038FD49-F921-43DB-A91A-C6A14DE249A3/data/Containers/Data/Application/7A90A3A2-65CF-42B4-B918-20060C410BF6/Library/Caches/ExponentExperienceData/%2540anonymous%252FGithub_eCommBasket-7858de5c-77be-4f6f-80da-dec89f3ac26b/ImagePicker/99D30C71-E9DC-416C-9799-E19C85F9E6F2.jpg",