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