HarmonyOS 图片文件写入成功,但在Image中不显示
图片文件写入成功,但在Image中不显示
Image(this.scrollImageFile) //不显示
  private clickShare(context: CommonUIContext, fileUri: string) {
    SnapshotHelper.loadPixelMap('centerScroll', (_error, pixels) => {
      FileHelper.writeToImageFile(fileUri, pixels, () => {
        this.shareBySystem(context, fileUri)
        this.scrollImageFile = fileUri
      })
    })
  }
Scenario:
import fs, { WriteOptions } from '@ohos.file.fs';
import { ImageHelper } from './ImageHelper';
import { BusinessError } from '@kit.BasicServicesKit';
import { TAG } from '../retrofit/HttpHelper';
export class FileHelper {
  static writeToImageFile(filePath: string, imagePixels: PixelMap, callback: () => void) {
    const width = 100
    const height = 100
    const buff = ImageHelper.readPixelsToBuffer(imagePixels, width, height)
    let stream = fs.createStreamSync(filePath, 'w')
    // let writeOption: WriteOptions = {
    //   offset: 0,
    //   length: buff.byteLength,
    //   encoding: 'utf-8'  //WriteOptions只支持utf-8
    // }
    stream.write(buff, (err: BusinessError, bytesWritten: number) => {
      if (err) {
        console.error(TAG, "FileHelper,write stream failed with error message: " + err.message + ", error code: " + err.code)
      } else {
        if (bytesWritten) {
          console.info(TAG, "FileHelper,write succeed and size is:" + bytesWritten);
          stream.close()
        }
      }
      if (callback) {
        callback()
      }
    })
  }
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS Image组件网络图片不显示 
1855浏览  • 1回复 待解决
image组件,files目录的文件不显示 
2735浏览  • 1回复 待解决
HarmonyOS Image组件不显示下载到本地的图片 
3099浏览  • 1回复 待解决
HarmonyOS Image图片部分网络地址不显示 
1117浏览  • 1回复 待解决
HarmonyOS  Image中的resizable()方法加载本地图片 偶发不显示 
1189浏览  • 1回复 待解决
HarmonyOS push通知不显示图片 
912浏览  • 1回复 待解决
HarmonyOS Web组件不显示图片 
974浏览  • 1回复 待解决
HarmonyOS  web加载页面图片不显示 
2108浏览  • 1回复 待解决
HarmonyOS 网络图片加载不显示 
2288浏览  • 1回复 待解决
HarmonyOS 引用本地图片资源,路径中包含 # 号时图片不显示 
1542浏览  • 1回复 待解决
HarmonyOS lottie显示图片不成功 
998浏览  • 1回复 待解决
HarmonyOS Badge里面包了一个Image,想不显示Badge但显示Image如何操作 
691浏览  • 1回复 待解决
onInterceptRequest拦截本地pdf文件,前端不显示 
2832浏览  • 1回复 待解决
HarmonyOS Image组件加载缓存文件中的图片问题 
2561浏览  • 1回复 待解决
https链接的页面中,有的图片是http的,但是http的图片不显示。 
3208浏览  • 1回复 待解决
HarmonyOS Image显示GIF图片时的控制 
1260浏览  • 1回复 待解决
HarmonyOS Image组件无法显示网络图片 
3731浏览  • 1回复 待解决
HarmonyOS CustomDialogController 不显示 
1648浏览  • 1回复 待解决
Hi3861烧录1.1的源码成功后,按重启按钮显示屏不显示 求救!!! 
9437浏览  • 3回复 待解决
HarmonyOS  ContextMenu中的item点击不显示toast 
822浏览  • 1回复 待解决
HarmonyOS Image如何显示base64的图片? 
2220浏览  • 1回复 待解决
Image如何在多态下显示不同图片? 
1464浏览  • 1回复 待解决
HarmonyOS 在使用Image图片组件时,放入pixelMap无法显示图片 
2150浏览  • 1回复 待解决
HarmonyOS 保存PixelMap到相册,显示保存成功,相册中的图片为空白图片,宽高都是0 
1147浏览  • 1回复 待解决
HarmonyOS webloadData不显示内容 
871浏览  • 1回复 待解决





















如果图片文件写入成功,但在Image组件中不显示,可能是因为没有正确获取图片的路径或URI。需要确保在Image组件的src属性中使用的是正确的图片路径或URI。如果使用了文件下载接口下载图片,请确保监听到下载任务接口并获取返回的token,然后通过token来获取图片的路径。
还需要查看一下fileUri的格式是不是符合Image的入参格式
image组件参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-image-V5
路径上是要加的。
拿到文件的沙箱路径后,通过调用@ohos.file.fileuri模块的fileuri.getUriFromPath(file.path)将沙箱路径转化为沙箱uri,传入之后即可正常显示沙箱图片,接口参考如下:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fileuri-V5