HarmonyOS 系统选取的图片怎么读取,地址类似file://media/Photo/73/IMG_1716792094_072/IMG_072.jpg

HarmonyOS
2024-12-27 16:18:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

请参考如下代码:

function SelectPhotoSaveToCacheDir(){
  try {
    let photoSelectOptions = new picker.PhotoSelectOptions();
    photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
    photoSelectOptions.maxSelectNumber = 5;
    let photoPicker = new picker.PhotoViewPicker();
    let uris: Array<string> = [];
    photoPicker.select(photoSelectOptions).then((photoSelectResult: picker.PhotoSelectResult) => {
      uris = photoSelectResult.photoUris;
      let fileArray = uris[0].split("/");
      let fileName = fileArray[fileArray.length - 1];
      let file = fs.openSync(uris[0], fs.OpenMode.READ_ONLY);
      let cacheDir = mContext.cacheDir;
      let dstPath = cacheDir + '/' + fileName;
      let file2 = fs.openSync(dstPath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
      fs.copyFileSync(file.fd, file2.fd);
      fs.closeSync(file);
      console.info('PhotoViewPicker.select successfully, photoSelectResult uri: ' + JSON.stringify(photoSelectResult));
    }).catch((err: BusinessError) => {
      console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
    });
  } catch (error) {
    let err: BusinessError = error as BusinessError;
    console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
  }
}
分享
微博
QQ
微信
回复
2024-12-27 19:11:00
相关问题
HarmonyOS flutter选取相册图片怎么实现
544浏览 • 1回复 待解决
HarmonyOS 图片资源选取
718浏览 • 1回复 待解决
HarmonyOS 跳转系统选择输入法界面
308浏览 • 1回复 待解决