
# 上传文件
单次上传的文件，限制大小20M
#### 请求参数
| **参数**     | **类型**   | **必填** | **说明**                               |
|:---|:---|:---|:---|
| serverUrl  | String   | 是      | 服务器地址，绝对路径                           |
| formData   | Object   | 是      | 自定义body中的其他数据，json结构。注意：无数据时，需传空值 {} |
| filePath   | String   | 是      | 文件存放到本地的地址，包含文件名称及后缀                 |
| zip        | Bool     | 否      | true：压缩后传，false：不压缩上传                |
| name       | String   | 否      | 开发者在服务器端通过该key可以获取到文件二进制内容           |
| headers    | Object   | 否      | 自定义的header信息                         |
| progress   | Number   | 否      | 是否返回上传进度。1：返回，0：不返回。默认为 0            |
| onProgress | Function | 否      | 当progress为1时，必填。回调函数，持续回调            |
   
#### 返回结果
无。
#### 请求示例
- ES6示例
```
HWH5.uploadFileVPN({
  zip: false,
  serverUrl: 'http://example.com/uploadFile', // 示例地址，非真实服务，需要配置云桥
  filePath: 'xxx.jpg',
  name: 'file',
  headers: {},
  formData: { capKey: 'xxxxxx.xxxxxx', audioFormat: 'pcm16k16bit' },
  progress: 1,
  onProgress: (_data) => {
    console.log(_data, '~~~data');
  }
}).then(data => {
  console.log('服务端返回数据：', data);
}).catch(error => {
  console.log('HWH5.uploadFileVPN上传异常', error);
});
```
- ES5示例
```
HWH5.uploadFileVPN({
  zip: false,
  serverUrl: 'http://example.com/uploadFile', // 示例地址，非真实服务
  filePath,
  name: 'file',
  headers: {},
  formData: {},
  progress: 1,
  onProgress: function (_data) {
    console.log(_data, '~~~data');
  }
}).then(function (data) {
  console.log('服务端返回数据：', data);
}).catch(function (error) {
  console.log('HWH5.uploadFileVPN上传异常', error);
});
```
**HWH5.downloadFileVPN**
[支持版本\>=10.1.2](https://open.welink.huaweicloud.com/docs/#/990hh0/whokyc/fa5obu)
