HarmonyOS 如何保存一张远程图片到本地文件的公共目录的DOWNLOAD文件夹
如何保存一张远程图片到本地文件的公共目录的DOWNLOAD文件夹,保存一张http图片到本地的公共目录的DOWNLOAD文件夹,参考了
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5#保存文档类文件
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5#download模式保存文件
均未成功实现。希望帮忙修改一下。
最小化 demo如下:
import picker from '@ohos.file.picker';
import fs from '@ohos.file.fs';
import { BusinessError } from '@ohos.base';
import common from '@ohos.app.ability.common';
import { request } from '@kit.BasicServicesKit';
@Entry
@Component
struct Index {
aboutToAppear(): void {
let uri: string = '';
let context = getContext(this) as common.Context;
const tempDir = context.tempDir;
const documentViewPicker = new picker.DocumentViewPicker(context);
const documentSaveOptions = new picker.DocumentSaveOptions();
documentSaveOptions.pickerMode = picker.DocumentPickerMode.DOWNLOAD;
documentViewPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => {
uri = documentSaveResult[0];
let tmpfile = `${tempDir}/${Date.now()}.png`
request.downloadFile(context, {
url: `https://图片资源路径`,
filePath: tmpfile
}).then((downloadTask: request.DownloadTask) => {
downloadTask.on('complete', () => {
console.info('download complete');
let file = fs.openSync(tmpfile, fs.OpenMode.READ_WRITE);
let buf = new ArrayBuffer(fs.statSync(file.fd).size);
fs.readSync(file.fd, buf);
fs.copyFileSync(tmpfile, `${uri}/${Date.now()}.png`, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE)
fs.closeSync(file);
})
}).catch((err: BusinessError) => {
console.error(`Invoke downloadTask failed, code is ${err.code}, 1message is ${err.message}`);
});
console.info('documentViewPicker.save succeed and uri is:' + uri);
}).catch((err: BusinessError) => {
console.error(`Invoke documentViewPicker.save failed, code is ${err.code}, message is ${err.message}`);
})
}
build() {
}
}
- 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.
- 40.
- 41.
- 42.
- 43.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 怎么保存文件到手机的download文件夹
1208浏览 • 1回复 待解决
HarmonyOS 如何通过api获取公共目录下的图片文件夹路径
788浏览 • 1回复 待解决
HarmonyOS 如何获取公共目录的文件夹路径?
1565浏览 • 1回复 待解决
如何保存一张PNG图片到相册中
2689浏览 • 1回复 待解决
HarmonyOS想要获取download目录文件夹,返回801,应该怎么解决
1521浏览 • 1回复 待解决
通过hdc指令push文件到Download文件夹时,报权限问题,shell指令进入之后,又找不到Download文件夹
3674浏览 • 1回复 待解决
HarmonyOS 如何自动获取download或其他目录下文件夹下的图片
614浏览 • 1回复 待解决
HarmonyOS 公共目录Document、Download可以直接新建目录、新建文件、编辑文件了?
998浏览 • 1回复 待解决
HarmonyOS 下载文件到指定文件夹
1026浏览 • 1回复 待解决
请问ArkTs API8如何遍历文件夹,得到文件夹下的目录?
4213浏览 • 1回复 待解决
HarmonyOS 如何把文件存储到公共目录
938浏览 • 1回复 待解决
HarmonyOS 如何主动清空应用自身缓存文件夹路径下的所有文件和文件夹
1475浏览 • 1回复 待解决
HarmonyOS 如何把rawfile目录下面的文件夹拷贝到沙盒目录
858浏览 • 1回复 待解决
HarmonyOS 获取手机图片文件夹
1204浏览 • 0回复 待解决
HarmonyOS 网络音频文件如何下载到手机外置存储Download文件夹
758浏览 • 1回复 待解决
鸿蒙文件怎么下载后复制到指定文件夹?
278浏览 • 0回复 待解决
复制rawfile路径下data里面的所有文件和文件夹 到本地沙箱 然后提供给C++侧本地沙箱保存的路径
2676浏览 • 1回复 待解决
如何将rawfile下的文件写入到手机本地文件夹中
1391浏览 • 1回复 待解决
如何吸取一张图片的色值?
1316浏览 • 1回复 待解决
HarmonyOS 如何快速获取一张本地图片的分辨率?
1128浏览 • 1回复 待解决
HarmonyOS 5.0.0.31 的SDK版本出的包会在文件夹路径下面产生hiappevent文件夹
1076浏览 • 1回复 待解决
HarmonyOS resource下的文件Image展示,同一张图片如何设置不同的展示大小?
913浏览 • 1回复 待解决
HarmonyOS 资源文件能否在resource目录下进行文件夹分类
971浏览 • 1回复 待解决
如何打开指定文件夹,选择文件返回
9878浏览 • 1回复 待解决
怎样在根目录中创建文件夹
5356浏览 • 1回复 待解决
目前不支持download模式直接去调fs保存文件,这样拿到的uri是没有操作权限的;需要下载文件到公共路径还是推荐下载后picker保存到指定路径的方式