From 84a2a4eeb436c1a3946de99c32fcc074793f106a Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 29 May 2025 13:59:35 +0800 Subject: [PATCH 01/10] =?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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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