HarmonyOS 走文件夹获取的图片怎么查看他的图片大小(比如10M,50KB这种)

是从文件夹中获取的图片。获取到的图片有宽高等信息,但是没有图片大小的信息。这种情况下怎么得到图片的大小呢?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

参考下这个demo,用fs读取文件大小,按1000换算可以拿到文件的大小:

import camera from '@ohos.multimedia.camera';
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
import fileuri from '@ohos.file.fileuri';
import fs from '@ohos.file.fs';
import picker from '@ohos.file.picker';
import photoAccessHelper from '@ohos.file.photoAccessHelper';
import buffer from '@ohos.buffer';

async function get() {
  const photoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
  photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型为IMAGE
  photoSelectOptions.maxSelectNumber = 5; // 选择媒体文件的最大数目
  let uris: Array<string> = [];
  const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
  photoViewPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {
    uris = photoSelectResult.photoUris;
    console.info('photoViewPicker.select to file succeed and uris are:' + uris);
    let file = fs.openSync(uris[0], fs.OpenMode.READ_WRITE);
    fs.stat(file.fd).then((stat: fs.Stat) => {
      console.info("lstat succeed, the size of file is " + stat.size);
    }).catch((err: BusinessError) => {
      console.error("lstat failed with error message: " + err.message + ", error code: " + err.code);
    });
  }).catch((err: BusinessError) => {
    console.error(`Invoke photoViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
  })
}

@Entry
@Component
export struct Index {
  build() {
    Column() {
      Button('选择并保存').onClick(() => {
        get()
      })
    }
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 怎么获取图片大小
31浏览 • 1回复 待解决
HarmonyOS 获取手机图片文件夹
293浏览 • 0回复 待解决
HarmonyOS 图片文件夹获取封面图coverUri
305浏览 • 1回复 待解决
有谁知道如何获取文件夹大小
1303浏览 • 1回复 待解决
HarmonyOS marker无设置图片大小问题
40浏览 • 1回复 待解决
单个文件夹空间统计
870浏览 • 1回复 待解决
打包包含ohosTest文件夹和test文件夹
456浏览 • 1回复 待解决
HarmonyOS rawFile文件夹合并问题
56浏览 • 1回复 待解决
如何打开指定文件夹,选择文件返回
8752浏览 • 1回复 待解决