From 84a2a4eeb436c1a3946de99c32fcc074793f106a Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 13:59:35 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E6=BC=94=E7=A4=BA=E5=A6=82=E4=BD=95?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E4=B8=8A=E4=BC=A0=E4=B8=8B=E8=BD=BD=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=9B=B4=E6=8E=A5=E6=8A=8A=E6=96=87=E4=BB=B6=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=88=B0=E7=94=A8=E6=88=B7=E6=96=87=E4=BB=B6=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/Download.ets | 101 ++++++++++++++++-- .../src/main/ets/pages/DownloadFiles.ets | 3 +- .../entry/src/main/ets/pages/Index.ets | 12 ++- .../main/resources/base/element/string.json | 8 ++ .../main/resources/en_US/element/string.json | 8 ++ .../main/resources/zh_CN/element/string.json | 8 ++ .../src/main/ets/components/FileBrowse.ets | 7 +- .../src/main/ets/download/RequestDownload.ets | 11 +- .../src/main/ets/utils/FileUtils.ets | 27 +++-- .../UploadAndDownLoad/oh-package.json5 | 1 + 10 files changed, 153 insertions(+), 33 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 86f662222d..807ac5b027 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -27,6 +27,9 @@ import { TOAST_BOTTOM } from '@ohos/uploaddownload'; import { SelectFolderDialog } from '../components/SelectFolderDialog'; +import { common } from '@kit.AbilityKit'; +import { picker } from '@kit.CoreFileKit'; +import { BusinessError } from '@kit.BasicServicesKit'; const TAG: string = 'DownloadSample'; @@ -41,11 +44,12 @@ struct Download { @State checkFile: Array = []; @State checkList: Array = []; @State isRunning: boolean = false; + @State isUserFolder: boolean = true; @State isPause: boolean = false; @State progress: number = 0; private selectFolder = (folder: string) => { logger.info(TAG, `selectFolder = ${folder}`); - this.download(folder); + this.download("./" + folder); } private folderDialogController: CustomDialogController = new CustomDialogController({ builder: SelectFolderDialog({ selectFolder: this.selectFolder }), @@ -53,6 +57,54 @@ struct Download { alignment: DialogAlignment.Bottom, offset: { dx: 0, dy: -12 } }); + async selectUserFolder() { + const documentSaveOptions = new picker.DocumentSaveOptions(); + console.info(TAG, `documentSaveOptions: ${documentSaveOptions}`) + this.checkFile = []; + if (this.checkList === undefined) { + return; + } + logger.info(TAG, `checkList = ${JSON.stringify(this.checkList)}`); + for (let i = 0; i < this.checkList.length; i++) { + if (this.checkList[i]) { + let fileModel = this.fileData.getData(i); + logger.info(TAG, `fileModel = ${JSON.stringify(fileModel)}`); + fileModel.files.forEach((url: string) => { + let splitUrl = url.split('//')[1].split('/'); + if (splitUrl[splitUrl.length-1] !== '') { + this.checkFile.push(url); + documentSaveOptions.newFileNames = [splitUrl[splitUrl.length-1]]; + } + }); + } + } + + logger.info(TAG, `checkFile = ${JSON.stringify(this.checkFile)}`); + + if (this.checkFile.length === 0) { + promptAction.showToast({ message: $r('app.string.check_file_tips'), bottom: TOAST_BOTTOM }); + return; + } + + console.info(TAG, `documentSaveOptions: ${documentSaveOptions}`) + let context = this.getUIContext().getHostContext() as common.UIAbilityContext; + console.info(TAG, `context: ${context}`) + const documentViewPicker = new picker.DocumentViewPicker(context); + console.info(TAG, `documentViewPicker.select: ${documentViewPicker.select()}`) + await documentViewPicker.save(documentSaveOptions).then((docomentSaveResult: Array) => { + console.info(TAG, `docomentSaveResult: ${docomentSaveResult}`) + let splitUrl = docomentSaveResult[0].split('/'); + console.info(TAG, `splitUrl: ${splitUrl}`) + splitUrl.pop(); + console.info(TAG, `splitUrl: ${splitUrl}`) + let splitUrl1=splitUrl.join('/'); + logger.info(TAG, `selectFolder = ${splitUrl1}`); + this.download(splitUrl1); + logger.info(TAG, `selectFolder = ${splitUrl1}`); + }).catch((err: BusinessError) => { + console.error(TAG, `code : ${err.code} message : ${err.message}`) + }); + } build() { Navigation() { @@ -91,7 +143,7 @@ struct Download { .mode(NavigationMode.Stack) .backgroundColor($r('app.color.light_gray')) .hideToolBar(false) - .title($r('app.string.download')) + .title(this.isUserFolder?$r('app.string.downloadToUser'):$r('app.string.download')) } @Builder @@ -192,7 +244,7 @@ struct Download { .fontSize(16) .margin({ left: 12 }) } else { - Text($r('app.string.download')) + Text(this.isUserFolder?$r('app.string.downloadToUser'):$r('app.string.download')) .fontColor(Color.White) .fontSize(16) } @@ -203,9 +255,13 @@ struct Download { .height(45) .width('100%') .backgroundColor($r('app.color.button_blue')) - .onClick(() => { + .onClick(async () => { if (!this.isRunning) { - this.folderDialogController.open(); + if (this.isUserFolder ) { + await this.selectUserFolder(); + } else { + this.folderDialogController.open(); + } } }) } @@ -218,9 +274,15 @@ struct Download { .margin({ bottom: 12 }) .fontColor($r('app.color.btn_text_blue')) .onClick(() => { - router.pushUrl({ - url: 'pages/DownloadFiles' - }); + if (this.isUserFolder ) { + AppStorage.setOrCreate('DownloadDir', "file://docs/storage/Users/currentUser/"); + } else { + let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + AppStorage.setOrCreate('DownloadDir', context.cacheDir); + } + router.pushUrl({ + url: 'pages/DownloadFiles' + }) }) } .margin({ top: 12, left: 12, right: 12 }) @@ -231,6 +293,25 @@ struct Download { this.isRunning = false; this.isPause = false; this.isGetData = true; + const params = router.getParams(); + console.info(`Tonny2501023 DL0301 router.params: ${params}`); + if (params) { + this.isUserFolder=true; + this.checkList = []; + this.isRunning = false; + let itemtxt:FileModel = new FileModel("test.txt",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/test.txt"]); + let itemjpg:FileModel = new FileModel("edge_picture.jpg",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/edge_picture.jpg"]); + let itemmp3:FileModel = new FileModel("audio_test.mp3",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/audio_test.mp3"]); + let itemmp4:FileModel = new FileModel("video_media.mp4",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/video_media.mp4"]); + this.fileData.dataArray = [itemtxt,itemjpg,itemmp3,itemmp4] ; + this.fileData.dataArray.forEach((item: FileModel) => { + logger.debug(TAG, `Tonny2501023 DL0342 item:${JSON.stringify(item)}`); + this.checkList.push(false); + }) + this.isGetData = false; + this.fileData.notifyDataReload(); + } else { + this.isUserFolder=false; requestFiles.requestFiles().then((data: FileModel[]) => { this.checkList = []; this.isRunning = false; @@ -241,7 +322,9 @@ struct Download { this.isGetData = false; this.fileData.notifyDataReload(); }) - fileUtils.listFolders().then((folders: Array) => { + } + let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + fileUtils.listFolders(context.cacheDir).then((folders: Array) => { this.downloadFolder = folders; }) } diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets index 490bb26612..6f1b989546 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets @@ -18,9 +18,10 @@ import { FileBrowse } from '@ohos/uploaddownload'; @Entry @Component struct DownLoadFiles { + @StorageLink('DownloadDir') DownloadDir: string = "./";; build() { Column() { - FileBrowse() + FileBrowse({DownloadDir:this.DownloadDir}) } .width('100%') .height('100%') diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets index a2ed4f2e8e..6cda615a2b 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets @@ -87,8 +87,18 @@ struct Index { this.CapabilityView($r('app.media.ic_download'), $r('app.string.download'), 'btn_download', () => { router.pushUrl({ url: 'pages/Download' + }) + }) + this.CapabilityView($r('app.media.ic_download'), $r('app.string.downloadToUser'), 'btn_downloadToUser', + () => { + + router.pushUrl({ + url: 'pages/Download', + params: { + action: 'ToUser' + } + }) }) - }) this.CapabilityView($r('app.media.ic_certified'), $r('app.string.cert_lock'), 'btn_cert_lock', () => { router.pushUrl({ url: 'pages/CertLock' diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json index f2f3603345..2d98abd1fd 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json @@ -68,6 +68,14 @@ "name": "download", "value": "Download" }, + { + "name": "downloadToApplication", + "value": "downloadToApplication" + }, + { + "name": "downloadToUser", + "value": "DownloadToUser" + }, { "name": "download_to", "value": "Select a download location" diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/en_US/element/string.json b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/en_US/element/string.json index 751ab62d30..ab355f1e97 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/en_US/element/string.json +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/en_US/element/string.json @@ -139,6 +139,14 @@ { "name": "cert_lock", "value": "Cert lock" + }, + { + "name": "downloadToUser", + "value": "DownloadToUser" + }, + { + "name": "downloadToApplication", + "value": "DownloadToApplication" } ] } \ No newline at end of file diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/zh_CN/element/string.json b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/zh_CN/element/string.json index 94ea0de964..3e42b66c3f 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/zh_CN/element/string.json +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/zh_CN/element/string.json @@ -139,6 +139,14 @@ { "name": "cert_lock", "value": "证书锁定" + }, + { + "name": "downloadToUser", + "value": "下载到用户目录" + }, + { + "name": "downloadToApplication", + "value": "下载到应用目录" } ] } \ No newline at end of file diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets index e8fd253d4c..60fabf6f18 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets @@ -21,9 +21,10 @@ export struct FileBrowse { @State folders: Array = ['folder']; @State files: Array = []; @State currentFolder: string = ''; + @Link DownloadDir: string; aboutToAppear() { - fileUtils.listFolders().then((folders: Array) => { + fileUtils.listFolders(this.DownloadDir).then((folders: Array) => { this.folders = folders; }) } @@ -57,7 +58,7 @@ export struct FileBrowse { .onStateChange(async (isActivated: boolean) => { if (isActivated) { this.currentFolder = item; - this.files = await fileUtils.listFiles(item); + this.files = await fileUtils.listFiles(this.DownloadDir,item); } }) } @@ -132,7 +133,7 @@ export struct FileBrowse { } .margin({ bottom: 24, top: 6 }) .onClick(() => { - fileUtils.clearFolder(this.currentFolder); + fileUtils.clearFolder(this.DownloadDir,this.currentFolder); this.files = []; }) } diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/download/RequestDownload.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/download/RequestDownload.ets index 4c58ce38c6..8e1f1051f3 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/download/RequestDownload.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/download/RequestDownload.ets @@ -99,7 +99,7 @@ class RequestDownload { } async downloadFile(folder: string, url: string, callback: (progress: number, isSuccess: boolean) => void) { - logger.info(TAG, 'downloadFile'); + logger.info(TAG, `downloadFile folder:${folder} url:${url}`); // 查询到存在正在执行的下载任务,提示并返回 let tasks = await request.agent.search({ state: request.agent.State.RUNNING, @@ -111,15 +111,16 @@ class RequestDownload { return; } let splitUrl = url.split('//')[1].split('/'); + let saveas = `${folder}/${splitUrl[splitUrl.length-1]}` let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; let downloadConfig: request.agent.Config = { action: request.agent.Action.DOWNLOAD, url: url, - method: 'POST', + method: 'GET', title: 'download', mode: request.agent.Mode.FOREGROUND, network: request.agent.Network.ANY, - saveas: `./${folder}/${splitUrl[splitUrl.length-1]}`, + saveas: saveas, overwrite: true } logger.info(TAG, `downloadFile, downloadConfig = ${JSON.stringify(downloadConfig)}`); @@ -142,7 +143,8 @@ class RequestDownload { this.downloadTask.on('failed', async (progress: request.agent.Progress) => { if (this.downloadTask) { let taskInfo = await request.agent.show(this.downloadTask.tid); - logger.info(TAG, `fail, resean = ${taskInfo.reason}, faults = ${JSON.stringify(taskInfo.faults)}`); + logger.error(TAG, `fail, resean = ${taskInfo.reason}, faults = ${JSON.stringify(taskInfo.faults)}`); + promptAction.showToast({ message: `fail, resean = ${taskInfo.reason}, faults = ${JSON.stringify(taskInfo.faults)}`, bottom: TOAST_BOTTOM }); } callback(100, false); this.deleteTask(); @@ -150,6 +152,7 @@ class RequestDownload { await this.downloadTask.start(); } catch (err) { logger.error(TAG, `task err, err = ${JSON.stringify(err)}`); + promptAction.showToast({ message: JSON.stringify(err), bottom: TOAST_BOTTOM }); callback(100, false); } } diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets index 44e0ed2ac7..cc45034461 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets @@ -24,41 +24,38 @@ class FileUtil { constructor() { } - async initDownloadDir(): Promise { - let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; - logger.info(TAG, `initDownloadDir cacheDir=${context.cacheDir}`); + async initDownloadDir(DownloadDir: string): Promise { + logger.info(TAG, `initDownloadDir DownloadDir=${DownloadDir}`); try { - fs.mkdirSync(`${context.cacheDir}/${ALBUMS[0]}`); - fs.mkdirSync(`${context.cacheDir}/${ALBUMS[1]}`); - fs.mkdirSync(`${context.cacheDir}/${ALBUMS[2]}`); + fs.mkdirSync(`${DownloadDir}/${ALBUMS[0]}`); + fs.mkdirSync(`${DownloadDir}/${ALBUMS[1]}`); + fs.mkdirSync(`${DownloadDir}/${ALBUMS[2]}`); } catch (err) { logger.info(TAG, `initDownloadDir err =${JSON.stringify(err)}`); } } - async listFolders(): Promise> { - await this.initDownloadDir(); + async listFolders(DownloadDir: string): Promise> { + await this.initDownloadDir(DownloadDir); return ALBUMS; } - async clearFolder(folderName: string): Promise { - let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + async clearFolder(DownloadDir: string,folderName: string): Promise { try { - let files: string[] = fs.listFileSync(`${context.cacheDir}/${folderName}`); + let files: string[] = fs.listFileSync(`${DownloadDir}/${folderName}`); logger.info(TAG, `listFiles listFileSync =${JSON.stringify(files)}`); for (let i = 0; i < files.length; i++) { - fs.unlinkSync(`${context.cacheDir}/${folderName}/${files[i]}`); + fs.unlinkSync(`${DownloadDir}/${folderName}/${files[i]}`); } } catch (err) { logger.info(TAG, `listFiles err =${JSON.stringify(err)}`); } } - async listFiles(folderName: string): Promise> { - let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + async listFiles(DownloadDir:string,folderName: string): Promise> { let files: string[] = []; try { - files = fs.listFileSync(`${context.cacheDir}/${folderName}`); + files = fs.listFileSync(`${DownloadDir}/${folderName}`); logger.info(TAG, `listFiles listFileSync =${JSON.stringify(files)}`); } catch (err) { logger.info(TAG, `listFiles err =${JSON.stringify(err)}`); diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/oh-package.json5 b/code/BasicFeature/Connectivity/UploadAndDownLoad/oh-package.json5 index 5e3779b038..f301b51451 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/oh-package.json5 +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/oh-package.json5 @@ -14,6 +14,7 @@ */ { + "modelVersion": "5.0.5", "license": "", "devDependencies": { "@ohos/hypium": "1.0.6" -- Gitee From f092f4d6a2ff631304cbfffe1fb3b49c4923138d Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 06:49:09 +0000 Subject: [PATCH 02/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/Download.ets | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 807ac5b027..5d3415b347 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -299,10 +299,10 @@ struct Download { this.isUserFolder=true; this.checkList = []; this.isRunning = false; - let itemtxt:FileModel = new FileModel("test.txt",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/test.txt"]); - let itemjpg:FileModel = new FileModel("edge_picture.jpg",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/edge_picture.jpg"]); - let itemmp3:FileModel = new FileModel("audio_test.mp3",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/audio_test.mp3"]); - let itemmp4:FileModel = new FileModel("video_media.mp4",false,["https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/video_media.mp4"]); + let itemtxt:FileModel = new FileModel('test.txt',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/test.txt']); + let itemjpg:FileModel = new FileModel('edge_picture.jpg',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/edge_picture.jpg']); + let itemmp3:FileModel = new FileModel('audio_test.mp3',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/audio_test.mp3']); + let itemmp4:FileModel = new FileModel('video_media.mp4',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/video_media.mp4']); this.fileData.dataArray = [itemtxt,itemjpg,itemmp3,itemmp4] ; this.fileData.dataArray.forEach((item: FileModel) => { logger.debug(TAG, `Tonny2501023 DL0342 item:${JSON.stringify(item)}`); -- Gitee From de87ee751891bcff56e14f6d79fe55e229bb1f72 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 06:54:30 +0000 Subject: [PATCH 03/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets. Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/DownloadFiles.ets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets index 6f1b989546..9b436fd746 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets @@ -18,10 +18,10 @@ import { FileBrowse } from '@ohos/uploaddownload'; @Entry @Component struct DownLoadFiles { - @StorageLink('DownloadDir') DownloadDir: string = "./";; + @StorageLink('downloadDir') downloadDir: string = "./";; build() { Column() { - FileBrowse({DownloadDir:this.DownloadDir}) + FileBrowse({downloadDir:this.downloadDir}) } .width('100%') .height('100%') -- Gitee From 5a44254eb91ed6a41c45acd7bd0bd95764389d2a Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 06:59:10 +0000 Subject: [PATCH 04/19] update UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets. Signed-off-by: qianyong325 --- .../src/main/ets/components/FileBrowse.ets | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets index 60fabf6f18..c476c47168 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/components/FileBrowse.ets @@ -21,10 +21,10 @@ export struct FileBrowse { @State folders: Array = ['folder']; @State files: Array = []; @State currentFolder: string = ''; - @Link DownloadDir: string; + @Link downloadDir: string; aboutToAppear() { - fileUtils.listFolders(this.DownloadDir).then((folders: Array) => { + fileUtils.listFolders(this.downloadDir).then((folders: Array) => { this.folders = folders; }) } @@ -58,7 +58,7 @@ export struct FileBrowse { .onStateChange(async (isActivated: boolean) => { if (isActivated) { this.currentFolder = item; - this.files = await fileUtils.listFiles(this.DownloadDir,item); + this.files = await fileUtils.listFiles(this.downloadDir,item); } }) } @@ -133,7 +133,7 @@ export struct FileBrowse { } .margin({ bottom: 24, top: 6 }) .onClick(() => { - fileUtils.clearFolder(this.DownloadDir,this.currentFolder); + fileUtils.clearFolder(this.downloadDir,this.currentFolder); this.files = []; }) } -- Gitee From bb499f7c6bf2d6eaac09d7381abea8b47405289a Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 07:04:41 +0000 Subject: [PATCH 05/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../UploadAndDownLoad/entry/src/main/ets/pages/Download.ets | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 5d3415b347..e819bdbc88 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -49,7 +49,7 @@ struct Download { @State progress: number = 0; private selectFolder = (folder: string) => { logger.info(TAG, `selectFolder = ${folder}`); - this.download("./" + folder); + this.download('./' + folder); } private folderDialogController: CustomDialogController = new CustomDialogController({ builder: SelectFolderDialog({ selectFolder: this.selectFolder }), @@ -275,10 +275,10 @@ struct Download { .fontColor($r('app.color.btn_text_blue')) .onClick(() => { if (this.isUserFolder ) { - AppStorage.setOrCreate('DownloadDir', "file://docs/storage/Users/currentUser/"); + AppStorage.setOrCreate('downloadDir', "file://docs/storage/Users/currentUser/"); } else { let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; - AppStorage.setOrCreate('DownloadDir', context.cacheDir); + AppStorage.setOrCreate('downloadDir', context.cacheDir); } router.pushUrl({ url: 'pages/DownloadFiles' -- Gitee From eb64cb3fbfcef2172da562a051ca89e37d2c5d64 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 07:08:52 +0000 Subject: [PATCH 06/19] update UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets. Signed-off-by: qianyong325 --- .../src/main/ets/utils/FileUtils.ets | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets index cc45034461..f97ad290bb 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/features/uploadanddownload/src/main/ets/utils/FileUtils.ets @@ -24,38 +24,38 @@ class FileUtil { constructor() { } - async initDownloadDir(DownloadDir: string): Promise { - logger.info(TAG, `initDownloadDir DownloadDir=${DownloadDir}`); + async initDownloadDir(downloadDir: string): Promise { + logger.info(TAG, `initDownloadDir downloadDir=${downloadDir}`); try { - fs.mkdirSync(`${DownloadDir}/${ALBUMS[0]}`); - fs.mkdirSync(`${DownloadDir}/${ALBUMS[1]}`); - fs.mkdirSync(`${DownloadDir}/${ALBUMS[2]}`); + fs.mkdirSync(`${downloadDir}/${ALBUMS[0]}`); + fs.mkdirSync(`${downloadDir}/${ALBUMS[1]}`); + fs.mkdirSync(`${downloadDir}/${ALBUMS[2]}`); } catch (err) { logger.info(TAG, `initDownloadDir err =${JSON.stringify(err)}`); } } - async listFolders(DownloadDir: string): Promise> { - await this.initDownloadDir(DownloadDir); + async listFolders(downloadDir: string): Promise> { + await this.initDownloadDir(downloadDir); return ALBUMS; } - async clearFolder(DownloadDir: string,folderName: string): Promise { + async clearFolder(downloadDir: string,folderName: string): Promise { try { - let files: string[] = fs.listFileSync(`${DownloadDir}/${folderName}`); + let files: string[] = fs.listFileSync(`${downloadDir}/${folderName}`); logger.info(TAG, `listFiles listFileSync =${JSON.stringify(files)}`); for (let i = 0; i < files.length; i++) { - fs.unlinkSync(`${DownloadDir}/${folderName}/${files[i]}`); + fs.unlinkSync(`${downloadDir}/${folderName}/${files[i]}`); } } catch (err) { logger.info(TAG, `listFiles err =${JSON.stringify(err)}`); } } - async listFiles(DownloadDir:string,folderName: string): Promise> { + async listFiles(downloadDir:string,folderName: string): Promise> { let files: string[] = []; try { - files = fs.listFileSync(`${DownloadDir}/${folderName}`); + files = fs.listFileSync(`${downloadDir}/${folderName}`); logger.info(TAG, `listFiles listFileSync =${JSON.stringify(files)}`); } catch (err) { logger.info(TAG, `listFiles err =${JSON.stringify(err)}`); -- Gitee From 85a49bb7234bee9914a3fe86b2714225ff4ede3a Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 07:17:36 +0000 Subject: [PATCH 07/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets. Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/DownloadFiles.ets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets index 9b436fd746..212b3c24f0 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/DownloadFiles.ets @@ -18,7 +18,7 @@ import { FileBrowse } from '@ohos/uploaddownload'; @Entry @Component struct DownLoadFiles { - @StorageLink('downloadDir') downloadDir: string = "./";; + @StorageLink('downloadDir') downloadDir: string = './'; build() { Column() { FileBrowse({downloadDir:this.downloadDir}) -- Gitee From b92170d046a717dc4768716a69dde9150064ab25 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 07:20:28 +0000 Subject: [PATCH 08/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../UploadAndDownLoad/entry/src/main/ets/pages/Download.ets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index e819bdbc88..7ea9e07992 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -275,7 +275,7 @@ struct Download { .fontColor($r('app.color.btn_text_blue')) .onClick(() => { if (this.isUserFolder ) { - AppStorage.setOrCreate('downloadDir', "file://docs/storage/Users/currentUser/"); + AppStorage.setOrCreate('downloadDir', 'file://docs/storage/Users/currentUser/'); } else { let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; AppStorage.setOrCreate('downloadDir', context.cacheDir); -- Gitee From 704409ddc2d238ec13f72367911a71efbf2d7705 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 10:00:59 +0000 Subject: [PATCH 09/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/Download.ets | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 7ea9e07992..c693305fe0 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -299,10 +299,11 @@ struct Download { this.isUserFolder=true; this.checkList = []; this.isRunning = false; - let itemtxt:FileModel = new FileModel('test.txt',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/test.txt']); - let itemjpg:FileModel = new FileModel('edge_picture.jpg',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/edge_picture.jpg']); - let itemmp3:FileModel = new FileModel('audio_test.mp3',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/audio_test.mp3']); - let itemmp4:FileModel = new FileModel('video_media.mp4',false,['https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/video_media.mp4']); + let downloadServerStr: string = 'https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/'; + let itemtxt:FileModel = new FileModel('test.txt',false,[downloadServerStr + 'test.txt']); + let itemjpg:FileModel = new FileModel('edge_picture.jpg',false,[downloadServerStr + 'edge_picture.jpg']); + let itemmp3:FileModel = new FileModel('audio_test.mp3',false,[downloadServerStr + 'audio_test.mp3']); + let itemmp4:FileModel = new FileModel('video_media.mp4',false,[downloadServerStr + 'video_media.mp4']); this.fileData.dataArray = [itemtxt,itemjpg,itemmp3,itemmp4] ; this.fileData.dataArray.forEach((item: FileModel) => { logger.debug(TAG, `Tonny2501023 DL0342 item:${JSON.stringify(item)}`); -- Gitee From 7f727749169c214e3f8eba6d576e49bd0e86949f Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 30 May 2025 01:53:48 +0000 Subject: [PATCH 10/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../UploadAndDownLoad/entry/src/main/ets/pages/Download.ets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index c693305fe0..7e8cdc7550 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -32,6 +32,7 @@ import { picker } from '@kit.CoreFileKit'; import { BusinessError } from '@kit.BasicServicesKit'; const TAG: string = 'DownloadSample'; +const downloadServerStr: string = 'https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/'; @Entry @Component @@ -298,8 +299,7 @@ struct Download { if (params) { this.isUserFolder=true; this.checkList = []; - this.isRunning = false; - let downloadServerStr: string = 'https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/'; + this.isRunning = false; let itemtxt:FileModel = new FileModel('test.txt',false,[downloadServerStr + 'test.txt']); let itemjpg:FileModel = new FileModel('edge_picture.jpg',false,[downloadServerStr + 'edge_picture.jpg']); let itemmp3:FileModel = new FileModel('audio_test.mp3',false,[downloadServerStr + 'audio_test.mp3']); -- Gitee From ca2f4c76a07bbbd468cbb1901781656401fa5966 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 30 May 2025 07:11:24 +0000 Subject: [PATCH 11/19] update UploadAndDownLoad/entry/src/main/resources/base/element/string.json. Signed-off-by: qianyong325 --- .../entry/src/main/resources/base/element/string.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json index 2d98abd1fd..15f5c8c410 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/resources/base/element/string.json @@ -76,6 +76,10 @@ "name": "downloadToUser", "value": "DownloadToUser" }, + { + "name": "downloadServer", + "value": "https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/" + }, { "name": "download_to", "value": "Select a download location" -- Gitee From d27b0f9400fa0f85eef3c564f1c227d2e0c7879b Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 30 May 2025 07:12:37 +0000 Subject: [PATCH 12/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets. Signed-off-by: qianyong325 --- .../UploadAndDownLoad/entry/src/main/ets/pages/Index.ets | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets index 6cda615a2b..2298d996a8 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Index.ets @@ -65,6 +65,11 @@ struct Index { .itemStyle() .margin({ top: 20 }) + TextInput({ text: $r('app.string.downloadServer') }) + .visibility(Visibility.Hidden) + .height(0) + .onChange((downloadServer) => AppStorage.setOrCreate('downloadServer', downloadServer)) + Row() { Text($r('app.string.HFS_tips')) .textStyle() -- Gitee From 4af169fd2d9de8b57d06402e2998e248199dc54a Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 30 May 2025 07:16:34 +0000 Subject: [PATCH 13/19] update UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/Download.ets | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 7e8cdc7550..664a4c9cdc 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -32,7 +32,7 @@ import { picker } from '@kit.CoreFileKit'; import { BusinessError } from '@kit.BasicServicesKit'; const TAG: string = 'DownloadSample'; -const downloadServerStr: string = 'https://gitee.com/tiga-ultraman/downloadTests/releases/download/v1.01/'; +const UserDir: string = 'file://docs/storage/Users/currentUser'; @Entry @Component @@ -40,6 +40,7 @@ struct Download { private fileData: CustomDataSource = new CustomDataSource([]); @StorageLink('isBackground') isBackground: boolean = false; @StorageLink('backDownTaskState') backDownTaskState: BackgroundTaskState = BackgroundTaskState.NONE; + @StorageLink('downloadServer') downloadServerStr: string = './'; @Provide downloadFolder: Array = []; @State isGetData: boolean = false; @State checkFile: Array = []; @@ -295,22 +296,26 @@ struct Download { this.isPause = false; this.isGetData = true; const params = router.getParams(); - console.info(`Tonny2501023 DL0301 router.params: ${params}`); + console.info(`router.params: ${params}`); if (params) { this.isUserFolder=true; this.checkList = []; this.isRunning = false; - let itemtxt:FileModel = new FileModel('test.txt',false,[downloadServerStr + 'test.txt']); - let itemjpg:FileModel = new FileModel('edge_picture.jpg',false,[downloadServerStr + 'edge_picture.jpg']); - let itemmp3:FileModel = new FileModel('audio_test.mp3',false,[downloadServerStr + 'audio_test.mp3']); - let itemmp4:FileModel = new FileModel('video_media.mp4',false,[downloadServerStr + 'video_media.mp4']); + let itemtxt:FileModel = new FileModel('test.txt',false,[this.downloadServerStr + 'test.txt']); + let itemjpg:FileModel = new FileModel('edge_picture.jpg',false,[this.downloadServerStr + 'edge_picture.jpg']); + let itemmp3:FileModel = new FileModel('audio_test.mp3',false,[this.downloadServerStr + 'audio_test.mp3']); + let itemmp4:FileModel = new FileModel('video_media.mp4',false,[this.downloadServerStr + 'video_media.mp4']); this.fileData.dataArray = [itemtxt,itemjpg,itemmp3,itemmp4] ; this.fileData.dataArray.forEach((item: FileModel) => { - logger.debug(TAG, `Tonny2501023 DL0342 item:${JSON.stringify(item)}`); + logger.debug(TAG, `item:${JSON.stringify(item)}`); this.checkList.push(false); }) this.isGetData = false; this.fileData.notifyDataReload(); + fileUtils.listFolders(UserDir).then((folders: Array) => { + logger.debug(TAG, `folders:${JSON.stringify(folders)}`); + this.downloadFolder = folders; + }) } else { this.isUserFolder=false; requestFiles.requestFiles().then((data: FileModel[]) => { -- Gitee From 2aa6b9eb58e0a9c7047ceedc967eb0fad0135458 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 30 May 2025 07:34:10 +0000 Subject: [PATCH 14/19] update UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../UploadAndDownLoad/entry/src/main/ets/pages/Download.ets | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 664a4c9cdc..4cecee128a 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -32,7 +32,7 @@ import { picker } from '@kit.CoreFileKit'; import { BusinessError } from '@kit.BasicServicesKit'; const TAG: string = 'DownloadSample'; -const UserDir: string = 'file://docs/storage/Users/currentUser'; +const userDir: string = 'file://docs/storage/Users/currentUser'; @Entry @Component @@ -277,7 +277,7 @@ struct Download { .fontColor($r('app.color.btn_text_blue')) .onClick(() => { if (this.isUserFolder ) { - AppStorage.setOrCreate('downloadDir', 'file://docs/storage/Users/currentUser/'); + AppStorage.setOrCreate('downloadDir',userDir); } else { let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; AppStorage.setOrCreate('downloadDir', context.cacheDir); @@ -312,7 +312,7 @@ struct Download { }) this.isGetData = false; this.fileData.notifyDataReload(); - fileUtils.listFolders(UserDir).then((folders: Array) => { + fileUtils.listFolders(userDir).then((folders: Array) => { logger.debug(TAG, `folders:${JSON.stringify(folders)}`); this.downloadFolder = folders; }) -- Gitee From 5874c132670756383cc250fee8ae8e874fc0f6d8 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Sun, 1 Jun 2025 07:28:43 +0000 Subject: [PATCH 15/19] update UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/Download.ets | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 4cecee128a..3e7b263690 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -38,6 +38,7 @@ const userDir: string = 'file://docs/storage/Users/currentUser'; @Component struct Download { private fileData: CustomDataSource = new CustomDataSource([]); + private documentSelectOptions = new picker.DocumentSelectOptions(); @StorageLink('isBackground') isBackground: boolean = false; @StorageLink('backDownTaskState') backDownTaskState: BackgroundTaskState = BackgroundTaskState.NONE; @StorageLink('downloadServer') downloadServerStr: string = './'; @@ -60,8 +61,9 @@ struct Download { offset: { dx: 0, dy: -12 } }); async selectUserFolder() { - const documentSaveOptions = new picker.DocumentSaveOptions(); - console.info(TAG, `documentSaveOptions: ${documentSaveOptions}`) + const documentSaveOptions = new picker.DocumentSaveOptions(); + console.info(TAG, `documentSaveOptions: ${JSON.stringify(documentSaveOptions)}`) + console.info(TAG, `documentSelectOptions: ${JSON.stringify(this.documentSelectOptions)}`) this.checkFile = []; if (this.checkList === undefined) { return; @@ -90,17 +92,18 @@ struct Download { console.info(TAG, `documentSaveOptions: ${documentSaveOptions}`) let context = this.getUIContext().getHostContext() as common.UIAbilityContext; - console.info(TAG, `context: ${context}`) + console.info(TAG, `context: ${JSON.stringify(context)}`) const documentViewPicker = new picker.DocumentViewPicker(context); - console.info(TAG, `documentViewPicker.select: ${documentViewPicker.select()}`) - await documentViewPicker.save(documentSaveOptions).then((docomentSaveResult: Array) => { - console.info(TAG, `docomentSaveResult: ${docomentSaveResult}`) - let splitUrl = docomentSaveResult[0].split('/'); + console.info(TAG, `documentViewPicker: ${JSON.stringify(documentViewPicker)}`) + await documentViewPicker.save(documentSaveOptions).then((documentSaveResult: Array) => { + console.info(TAG, `documentSaveResult: ${docomentSaveResult}`) + let splitUrl = documentSaveResult[0].split('/'); console.info(TAG, `splitUrl: ${splitUrl}`) splitUrl.pop(); console.info(TAG, `splitUrl: ${splitUrl}`) let splitUrl1=splitUrl.join('/'); logger.info(TAG, `selectFolder = ${splitUrl1}`); + this.documentSelectOptions.defaultFilePathUri = splitUrl1 this.download(splitUrl1); logger.info(TAG, `selectFolder = ${splitUrl1}`); }).catch((err: BusinessError) => { @@ -277,14 +280,21 @@ struct Download { .fontColor($r('app.color.btn_text_blue')) .onClick(() => { if (this.isUserFolder ) { - AppStorage.setOrCreate('downloadDir',userDir); + let context = this.getUIContext().getHostContext() as common.UIAbilityContext; + console.info(TAG, `context: ${JSON.stringify(context)}`) + const documentViewPicker = new picker.DocumentViewPicker(context); + console.info(TAG, `documentViewPicker: ${JSON.stringify(documentViewPicker)}`) + console.info(TAG, `documentSelectOptions: ${JSON.stringify(this.documentSelectOptions)}`) + documentViewPicker.select(this.documentSelectOptions).then((documentSelectResult: Array) =>{ + console.info(TAG, `documentSelectResult: ${documentSelectResult}`) + }) } else { let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; AppStorage.setOrCreate('downloadDir', context.cacheDir); - } router.pushUrl({ url: 'pages/DownloadFiles' - }) + }) + } }) } .margin({ top: 12, left: 12, right: 12 }) -- Gitee From db9a2b9ebf27d06daea5adb47f861f94b0913dc8 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Sun, 1 Jun 2025 07:47:17 +0000 Subject: [PATCH 16/19] update Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../entry/src/main/ets/pages/Download.ets | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index 3e7b263690..e7fe902a08 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -328,21 +328,22 @@ struct Download { }) } else { this.isUserFolder=false; - requestFiles.requestFiles().then((data: FileModel[]) => { - this.checkList = []; - this.isRunning = false; - this.fileData.dataArray = data; - this.fileData.dataArray.forEach((item: FileModel) => { - this.checkList.push(false); + requestFiles.requestFiles().then((data: FileModel[]) => { + this.checkList = []; + this.isRunning = false; + this.fileData.dataArray = data; + this.fileData.dataArray.forEach((item: FileModel) => { + this.checkList.push(false); + }) + this.isGetData = false; + this.fileData.notifyDataReload(); + }) + let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + fileUtils.listFolders(context.cacheDir).then((folders: Array) => { + logger.debug(TAG, `folders:${JSON.stringify(folders)}`); + this.downloadFolder = folders; }) - this.isGetData = false; - this.fileData.notifyDataReload(); - }) } - let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; - fileUtils.listFolders(context.cacheDir).then((folders: Array) => { - this.downloadFolder = folders; - }) } fileCheck(index: number) { -- Gitee From db8ff8a7b7464405738f51cb00317b0ba7d9977f Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Sun, 1 Jun 2025 07:52:32 +0000 Subject: [PATCH 17/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/entry/build-profile.json5. Signed-off-by: qianyong325 --- .../Connectivity/UploadAndDownLoad/entry/build-profile.json5 | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/build-profile.json5 b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/build-profile.json5 index 6ebd7bd06c..74bd2c0878 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/build-profile.json5 +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/build-profile.json5 @@ -20,8 +20,6 @@ "targets": [ { "name": "default" - , - "runtimeOS":"OpenHarmony" } , { -- Gitee From c97d8733cb437fd4d1fbc9f2aaad160f841ba673 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Sun, 1 Jun 2025 07:54:28 +0000 Subject: [PATCH 18/19] update UploadAndDownLoad/entry/src/main/ets/pages/Download.ets. Signed-off-by: qianyong325 --- .../UploadAndDownLoad/entry/src/main/ets/pages/Download.ets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets index e7fe902a08..abc16779a2 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/entry/src/main/ets/pages/Download.ets @@ -96,7 +96,7 @@ struct Download { const documentViewPicker = new picker.DocumentViewPicker(context); console.info(TAG, `documentViewPicker: ${JSON.stringify(documentViewPicker)}`) await documentViewPicker.save(documentSaveOptions).then((documentSaveResult: Array) => { - console.info(TAG, `documentSaveResult: ${docomentSaveResult}`) + console.info(TAG, `documentSaveResult: ${documentSaveResult}`) let splitUrl = documentSaveResult[0].split('/'); console.info(TAG, `splitUrl: ${splitUrl}`) splitUrl.pop(); -- Gitee From b0691631217d4aead4364ea5bc3547d48c6ab85e Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Mon, 2 Jun 2025 01:31:14 +0000 Subject: [PATCH 19/19] update code/BasicFeature/Connectivity/UploadAndDownLoad/README_zh.md. Signed-off-by: qianyong325 --- .../Connectivity/UploadAndDownLoad/README_zh.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/BasicFeature/Connectivity/UploadAndDownLoad/README_zh.md b/code/BasicFeature/Connectivity/UploadAndDownLoad/README_zh.md index a5e7b5a882..48be87a18b 100644 --- a/code/BasicFeature/Connectivity/UploadAndDownLoad/README_zh.md +++ b/code/BasicFeature/Connectivity/UploadAndDownLoad/README_zh.md @@ -5,15 +5,15 @@ ### 效果预览 -| 主页 | 上传 | 片段上传 | 下载 | 证书锁定 | -| :---------------------------------------: | :---------------------------------------: | :--------------------------------------: | :--------------------------------------: | ---------------------------------------- | -| ![home](screenshots/devices/zh/home.jpg) | ![util](screenshots/devices/zh/upload.jpg) | ![util](screenshots/devices/zh/uploadchunk.jpg) | ![convertxml](screenshots/devices/zh/download.jpg) | ![cert_lock](screenshots/devices/zh/cert_lock.jpg) | +| 主页 | 上传 | 片段上传 | 下载 | 下载到用户目录 | 证书锁定 | +| :---------------------------------------: | :---------------------------------------: | :--------------------------------------: | :--------------------------------------: | :--------------------------------------: | ---------------------------------------- | +| ![home](screenshots/devices/zh/home.jpg) | ![util](screenshots/devices/zh/upload.jpg) | ![util](screenshots/devices/zh/uploadchunk.jpg) | ![convertxml](screenshots/devices/zh/download.jpg) | ![convertxml](screenshots/devices/zh/download_user.jpg) | ![cert_lock](screenshots/devices/zh/cert_lock.jpg) | 使用说明 1.本示例功能需要先配置服务器环境后使用,具体配置见[上传下载服务配置](./environment)。 -2.首页展示上传、下载和证书锁定三个入口组件,点击进入对应的页面,如果要使用后台下载任务,请开启后台任务开关。 +2.首页展示上传、下载到用户目录和证书锁定四个入口组件,点击进入对应的页面,如果要使用后台下载任务,请开启后台任务开关。 3.上传页面: @@ -133,9 +133,9 @@ UploadAndDownload 1.本示例仅支持标准系统上运行,支持设备:RK3568。 -2.本示例为Stage模型,支持API12版本SDK,SDK版本号(API Version 12),镜像版本号(5.0) +2.本示例为Stage模型,支持API20版本SDK,SDK版本号(API Version 20),镜像版本号(6.0) -3.本示例需要使用DevEco Studio 版本号(4.1 Release)及以上版本才可编译运行。 +3.本示例需要使用DevEco Studio 版本号(5.0.5 Release)及以上版本才可编译运行。 4.运行本示例需全程联网。 -- Gitee