RN端HarmonyOS的react-native-image-picker,获取图片只能获取uri,无法获取base64

RN端HarmonyOS的react-native-image-picker,获取图片只能获取uri,无法获取base64

HarmonyOS
2024-08-23 10:21:07
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

可以使用HarmonyOS原生能力获取图片base64,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-image-kit-0000001816452293-V5#section871313119219

import { image } from '@kit.ImageKit'; 
import { buffer } from '@kit.ArkTS'; 
 
@Entry 
@Component 
struct Index { 
  @State message: string = 'PixelMapToBase64'; 
  @State base64: string = ''; 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
          .onClick(async () => { 
            let resourceManager = getContext(this).resourceManager 
            let imageArray = await resourceManager.getMediaContent($r('app.media.sample7')); 
            let pixelBuffer = new Uint8Array(imageArray).buffer as Object as ArrayBuffer; 
            let imageResource = image.createImageSource(pixelBuffer); 
            let opts: image.DecodingOptions = { editable: true } 
            let pixelMap = await imageResource.createPixelMap(opts); 
            // 转换成base64 
            const imagePackerApi: image.ImagePacker = image.createImagePacker(); 
            let packOpts: image.PackingOption = { format: 'image/jpeg', quality: 100 }; 
            imagePackerApi.packing(pixelMap, packOpts).then((data: ArrayBuffer) => { 
              let buf: buffer.Buffer = buffer.from(data); 
              this.base64 = 'data:image/jpeg;base64,' + buf.toString('base64', 0, buf.length); 
              console.info('base64: ' + this.base64); 
            }) 
          }) 
        Image(this.base64) 
          .width(200).height(200).margin(15) 
      } 
      .width('100%') 
    } 
    .height('100%') 
 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
分享
微博
QQ
微信
回复
2024-08-23 21:05:21


相关问题
HarmonyOS Image如何显示base64图片
1290浏览 • 1回复 待解决
HarmonyOS 关于Image组件使用base64图片
1486浏览 • 1回复 待解决
HarmonyOS base64image
771浏览 • 1回复 待解决
HarmonyOS Image加载base64失败
971浏览 • 1回复 待解决
HarmonyOS 图片Base64编码
841浏览 • 1回复 待解决
HarmonyOS 图片base64
950浏览 • 1回复 待解决
HarmonyOS 图片压缩和图片base64
1180浏览 • 1回复 待解决
HarmonyOS base64图片如何转成Arraybuffer
551浏览 • 1回复 待解决
HarmonyOS 拍照后图片base64
693浏览 • 1回复 待解决
HarmonyOS 图片进行base64编码报错
1385浏览 • 1回复 待解决
怎么把PixelMap图片BASE64
10379浏览 • 1回复 待解决
HarmonyOS 如何实现Base64数据转图片
911浏览 • 1回复 待解决
HarmonyOS 图片操作,合成后导出base64
999浏览 • 1回复 待解决
HarmonyOS如何将图片Base64
1977浏览 • 1回复 待解决