网络资源下载包rawfile目录,如何实现?

在应用启动的过程中,能够实现 下载资源到rawfile目录下,并能够在后续页面使用$rawfile来读取文件。

HarmonyOS
2024-09-06 11:58:45
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

下载文件到沙箱路径请参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-upload-download-V5

在onWindowStageCreate修改代码如下:

onWindowStageCreate(windowStage: window.WindowStage): void { 
  let filesDir = this.context.filesDir 
 
  try { 
  request.downloadFile(this.context, { 
  url: 'https://xxxx/xxxx.txt', 
  filePath: filesDir + '/xxxx.txt' 
}).then((downloadTask: request.DownloadTask) => { 
  downloadTask.on('complete', () => { 
    console.info('download complete'); 
    let file = fs.openSync(filesDir + '/xxxx.txt', fs.OpenMode.READ_WRITE); 
    let arrayBuffer = new ArrayBuffer(1024); 
    let readLen = fs.readSync(file.fd, arrayBuffer); 
    let buf = buffer.from(arrayBuffer, 0, readLen); 
    console.info(`The content of file: ${buf.toString()}`); 
    fs.closeSync(file); 
  }) 
}).catch((err: BusinessError) => { 
  console.error(`Invoke downloadTask failed, code is ${err.code}, message is ${err.message}`); 
}); 
} catch (error) { 
  let err: BusinessError = error as BusinessError; 
  console.error(`Invoke downloadFile failed, code is ${err.code}, message is ${err.message}`); 
} 
// Main window is created, set main page for this ability 
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); 
 
windowStage.loadContent('pages/Index', (err) => { 
  if (err.code) { 
    hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); 
    return; 
  } 
  hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); 
 
}); 
}
分享
微博
QQ
微信
回复
2024-09-06 17:21:50
相关问题
HarmonyOS apng库如何加载rawfile资源
62浏览 • 1回复 待解决
如何修改spark资源上传目录
2032浏览 • 1回复 待解决
如何动态访问media目录下的资源
2102浏览 • 1回复 待解决
module的资源无法下载
845浏览 • 1回复 待解决
HarmonyOS关于下载到缓存目录的问题
585浏览 • 1回复 待解决
HarmonyOS 离线 下载解压
659浏览 • 0回复 待解决
下载System-image-phone 2.0.0.210资源失败
13738浏览 • 8回复 待解决
HarmonyOS 下载文件并保存到指定目录
52浏览 • 1回复 待解决