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