1e41f4b71Sopenharmony_ci# Upload and Download Subsystem ChangeLog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciCompared with OpenHarmony 3.2 Beta3, OpenHarmony 3.2.8.1 has the following changes in its upload and download subsystem:
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci## cl.request.1 Changes of Error Code Definitions and Some API Names
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci- The processing of the [upload and download error codes](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/errorcodes/errorcode-request.md) is added to the upload and download APIs.
8e41f4b71Sopenharmony_ci- An error message is returned via **AsyncCallback** or the **error** object of **Promise**. An error message related to the parameter type or quantity is returned via an exception.
9e41f4b71Sopenharmony_ci- Some APIs need to be replaced with new APIs, and the parameters remain unchanged.
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci**Change Impacts**
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ciThe application developed based on earlier versions needs to adapt the method for returning API error information. Otherwise, the original service logic will be affected.
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci**Key API/Component Changes**
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci| Module        | Class                      | Method/Attribute/Enumeration/Constant                                         | Change Type|
18e41f4b71Sopenharmony_ci| -------------- | -------------------------- | ------------------------------------------------------------ | -------- |
19e41f4b71Sopenharmony_ci| ohos.request   | request                    | EXCEPTION_PERMISSION                                         | Added    |
20e41f4b71Sopenharmony_ci| ohos.request   | request                    | EXCEPTION_PARAMCHECK                                         | Added    |
21e41f4b71Sopenharmony_ci| ohos.request   | request                    | EXCEPTION_UNSUPPORTED                                        | Added    |
22e41f4b71Sopenharmony_ci| ohos.request   | request                    | EXCEPTION_FILEIO                                             | Added    |
23e41f4b71Sopenharmony_ci| ohos.request   | request                    | EXCEPTION_FILEPATH                                           | Added    |
24e41f4b71Sopenharmony_ci| ohos.request   | request                    | EXCEPTION_SERVICE                                            | Added    |
25e41f4b71Sopenharmony_ci| ohos.request   | request                    | EXCEPTION_OTHERS                                             | Added    |
26e41f4b71Sopenharmony_ci| ohos.request   | request                    | ERROR_OFFLINE                                                | Added    |
27e41f4b71Sopenharmony_ci| ohos.request   | request                    | ERROR_UNSUPPORTED_NETWORK_TYPE                               | Added    |
28e41f4b71Sopenharmony_ci| ohos.request   | request                    | function downloadFile(context: BaseContext, config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void; | Added    |
29e41f4b71Sopenharmony_ci| ohos.request   | request                    | function downloadFile(context: BaseContext, config: DownloadConfig): Promise<DownloadTask>; | Added    |
30e41f4b71Sopenharmony_ci| ohos.request   | request                    | function uploadFile(context: BaseContext, config: UploadConfig, callback: AsyncCallback<UploadTask>): void; | Added    |
31e41f4b71Sopenharmony_ci| ohos.request   | request                    | function uploadFile(context: BaseContext, config: UploadConfig): Promise<UploadTask>; | Added    |
32e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | delete(callback: AsyncCallback<boolean>): void;              | Added    |
33e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | delete(): Promise<boolean>;                                  | Added    |
34e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | suspend(callback: AsyncCallback<boolean>): void;             | Added    |
35e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | suspend(): Promise<boolean>;                                 | Added    |
36e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | restore(callback: AsyncCallback<boolean>): void;             | Added    |
37e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | restore(): Promise<boolean>;                                 | Added    |
38e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | getTaskInfo(callback: AsyncCallback<DownloadInfo>): void;    | Added    |
39e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | getTaskInfo(): Promise<DownloadInfo>;                        | Added    |
40e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | getTaskMimeType(callback: AsyncCallback<string>): void;      | Added    |
41e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | getTaskMimeType(): Promise<string>;                          | Added    |
42e41f4b71Sopenharmony_ci| ohos.request   | UploadTask                 | delete(callback: AsyncCallback<boolean>): void;              | Added    |
43e41f4b71Sopenharmony_ci| ohos.request   | UploadTask                 | delete(): Promise<boolean>;                                  | Added    |
44e41f4b71Sopenharmony_ci| ohos.request   | request                    | function download(config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void;<br>Substitute API: function downloadFile(context: BaseContext, config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void;| Deprecated    |
45e41f4b71Sopenharmony_ci| ohos.request   | request                    | function download(config: DownloadConfig): Promise<DownloadTask>;<br>Substitute API: function downloadFile(context: BaseContext, config: DownloadConfig): Promise<DownloadTask>; | Deprecated    |
46e41f4b71Sopenharmony_ci| ohos.request   | request                    | function download(context: BaseContext, config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void;<br>Substitute API: function downloadFile(context: BaseContext, config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void; | Deprecated    |
47e41f4b71Sopenharmony_ci| ohos.request   | request                    | function download(context: BaseContext, config: DownloadConfig): Promise<DownloadTask>;<br>Substitute API: function downloadFile(context: BaseContext, config: DownloadConfig): Promise<DownloadTask>; | Deprecated    |
48e41f4b71Sopenharmony_ci| ohos.request   | request                    | function upload(config: UploadConfig, callback: AsyncCallback<UploadTask>): void;<br>Substitute API: function uploadFile(context: BaseContext, config: UploadConfig, callback: AsyncCallback<UploadTask>): void; | Deprecated    |
49e41f4b71Sopenharmony_ci| ohos.request   | request                    | function upload(config: UploadConfig): Promise<UploadTask>;<br>Substitute API: function uploadFile(context: BaseContext, config: UploadConfig): Promise<UploadTask>; | Deprecated    |
50e41f4b71Sopenharmony_ci| ohos.request   | request                    | function upload(context: BaseContext, config: UploadConfig, callback: AsyncCallback<UploadTask>): void;<br>Substitute API: function uploadFile(context: BaseContext, config: UploadConfig, callback: AsyncCallback<UploadTask>): void; | Deprecated    |
51e41f4b71Sopenharmony_ci| ohos.request   | request                    | function upload(context: BaseContext, config: UploadConfig): Promise<UploadTask>;<br>Substitute API: function uploadFile(context: BaseContext, config: UploadConfig): Promise<UploadTask>; | Deprecated    |
52e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | remove(callback: AsyncCallback<boolean>): void;<br>Substitute API: delete(callback: AsyncCallback<boolean>): void | Deprecated    |
53e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | remove(): Promise<boolean>;<br>Substitute API: delete(): Promise<boolean>; | Deprecated    |
54e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | pause(callback: AsyncCallback<boolean>): void;<br>Substitute API: suspend(callback: AsyncCallback<boolean>): void; | Deprecated    |
55e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | pause(): Promise<boolean>;<br>Substitute API: suspend(): Promise<boolean>; | Deprecated    |
56e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | resume(callback: AsyncCallback<boolean>): void;<br>Substitute API: restore(callback: AsyncCallback<boolean>): void; | Deprecated    |
57e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | resume(): Promise<boolean>;<br>Substitute API: restore(): Promise<boolean>; | Deprecated    |
58e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | query(callback: AsyncCallback<DownloadInfo>): void;<br>Substitute API: getTaskInfo(callback: AsyncCallback<DownloadInfo>): void; | Deprecated    |
59e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | query(): Promise<DownloadInfo>;<br>Substitute API: getTaskInfo(): Promise<DownloadInfo>; | Deprecated    |
60e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | queryMimeType(callback: AsyncCallback<string>): void;<br>Substitute API: getTaskMimeType(callback: AsyncCallback<string>): void; | Deprecated    |
61e41f4b71Sopenharmony_ci| ohos.request   | DownloadTask               | queryMimeType(): Promise<string>;<br>Substitute API: getTaskMimeType(): Promise<string>; | Deprecated    |
62e41f4b71Sopenharmony_ci| ohos.request   | UploadTask                 | remove(callback: AsyncCallback<boolean>): void;<br>Substitute API: delete(callback: AsyncCallback<boolean>): void; | Deprecated    |
63e41f4b71Sopenharmony_ci| ohos.request   | UploadTask                 | remove(): Promise<boolean>;<br>Substitute API: delete(): Promise<boolean>; | Deprecated    |
64e41f4b71Sopenharmony_ci| system.request | UploadResponse             | code                                                         | Deprecated    |
65e41f4b71Sopenharmony_ci| system.request | UploadResponse             | data                                                         | Deprecated    |
66e41f4b71Sopenharmony_ci| system.request | UploadResponse             | headers                                                      | Deprecated    |
67e41f4b71Sopenharmony_ci| system.request | DownloadResponse           | token                                                        | Deprecated    |
68e41f4b71Sopenharmony_ci| system.request | OnDownloadCompleteResponse | uri                                                          | Deprecated    |
69e41f4b71Sopenharmony_ci| system.request | RequestFile                | filename                                                     | Deprecated    |
70e41f4b71Sopenharmony_ci| system.request | RequestFile                | name                                                         | Deprecated    |
71e41f4b71Sopenharmony_ci| system.request | RequestFile                | uri                                                          | Deprecated    |
72e41f4b71Sopenharmony_ci| system.request | RequestFile                | type                                                         | Deprecated    |
73e41f4b71Sopenharmony_ci| system.request | RequestData                | name                                                         | Deprecated    |
74e41f4b71Sopenharmony_ci| system.request | RequestData                | value                                                        | Deprecated    |
75e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | url                                                          | Deprecated    |
76e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | data                                                         | Deprecated    |
77e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | files                                                        | Deprecated    |
78e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | header                                                       | Deprecated    |
79e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | description                                                  | Deprecated    |
80e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | success                                                      | Deprecated    |
81e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | fail                                                         | Deprecated    |
82e41f4b71Sopenharmony_ci| system.request | UploadRequestOptions       | complete                                                     | Deprecated    |
83e41f4b71Sopenharmony_ci| system.request | OnDownloadCompleteOptions  | token                                                        | Deprecated    |
84e41f4b71Sopenharmony_ci| system.request | OnDownloadCompleteOptions  | success                                                      | Deprecated    |
85e41f4b71Sopenharmony_ci| system.request | OnDownloadCompleteOptions  | fail                                                         | Deprecated    |
86e41f4b71Sopenharmony_ci| system.request | OnDownloadCompleteOptions  | complete                                                     | Deprecated    |
87e41f4b71Sopenharmony_ci| system.request | Request                    | static upload(options: UploadRequestOptions): void;          | Deprecated    |
88e41f4b71Sopenharmony_ci| system.request | Request                    | static download(options: DownloadRequestOptions): void;      | Deprecated    |
89e41f4b71Sopenharmony_ci| system.request | Request                    | static onDownloadComplete(options: OnDownloadCompleteOptions): void; | Deprecated    |
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci**Adaptation Guide**
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ciThe following uses **downloadFile** as an example to show how it is called in the new version:
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci```ts
97e41f4b71Sopenharmony_citry {
98e41f4b71Sopenharmony_ci    request.downloadFile(globalThis.abilityContext, { url: 'https://xxxx/xxxxx.hap',
99e41f4b71Sopenharmony_ci        filePath: 'xxx/xxxxx.hap'}, (err, data) => {
100e41f4b71Sopenharmony_ci        if (err) {
101e41f4b71Sopenharmony_ci            console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
102e41f4b71Sopenharmony_ci            return;
103e41f4b71Sopenharmony_ci        }
104e41f4b71Sopenharmony_ci    });
105e41f4b71Sopenharmony_ci} catch (err) {
106e41f4b71Sopenharmony_ci    console.log("downloadFile callback fail." + "errCode:" + err.code + ",errMessage:" + err.message);
107e41f4b71Sopenharmony_ci}
108e41f4b71Sopenharmony_ci```
109