上传文件


接口说明

支持版本>=10.0.2

上传文件,限制大小20M。

HWH5.uploadFile

请求参数

参数 类型 必填 说明
serverUrl String 服务器地址,绝对路径
formData Object 自定义body中的其他数据,json结构。注意:无数据时,需传空值 {}
filePath String 文件存放到本地的地址,包含文件名称及后缀
zip Bool true:压缩后传,false:不压缩上传
name String 开发者在服务器端通过该key可以获取到文件二进制内容
headers Object 自定义的header信息
timeout Number 超时,单位毫秒。例如:6000毫秒=6秒
progress Number 是否返回上传进度。1:返回,0:不返回。默认为 0
onProgress Function 当progress为1时,必填。回调函数,持续回调

返回结果

无。

请求示例

  • ES6示例

    const filePath = '/downloads/xxxx.asr';
    const _appId = 'com.huawei.xxx';
    const _appName = 'xxxxxx';
    const _userId = 'xxx';
    
    HWH5.uploadFile({
      zip: false,
      serverUrl: 'http://example.com/uploadFile', // 示例地址,非真实服务
      filePath,
      name: 'voiceFile',
      headers: {
        'X-HIC-info': `{"appId":${_appId},"appName":${_appName},"userId":${_userId}}`
      },
      formData: { capKey: 'xxxxxx.xxxxxx', audioFormat: 'pcm16k16bit' },
      timeout: 60000,
      progress: 1,
      onProgress: (_data) => {
        console.log(_data, '~~~data');
      }
    }).then(data => {
      console.log('服务端返回数据:', data);
    }).catch(error => {
      console.log('HWH5.uploadFile上传异常', error);
    });
    
  • ES5示例

    var filePath = '/downloads/xxxx.asr';
    var _appId = 'com.huawei.xxx';
    var _appName = 'xxxxxx';
    var _userId = 'xxx';
    
    HWH5.uploadFile({
      zip: false,
      serverUrl: 'http://example.com/uploadFile', // 示例地址,非真实服务
      filePath,
      name: 'voiceFile',
      headers: {
        'X-HIC-info': 'appId:' + _appId + ',appName:' + _appName + ',userId:' + _userId
      },
      formData: { capKey: 'xxxxxx.xxxxxx', audioFormat: 'pcm16k16bit' },
      timeout: 60000,
      progress: 1,
      onProgress: function (_data) {
        console.log(_data, '~~~data');
      }
    }).then(function (data) {
      console.log('服务端返回数据:', data);
    }).catch(function (error) {
      console.log('HWH5.uploadFile上传异常', error);
    });
    
  • 服务端接受(Spring boot)示例:

    @SuppressWarnings("unchecked")
    @RequestMapping(value = "/xxx/xxxxxx", method = RequestMethod.POST)
    public @ResponseBody Map shortOutlineAsr(
                                           @RequestParam(name = "voiceFile") MultipartFile voiceFile,
                                           @RequestParam(name = "capKey") String capKey,
                                           @RequestParam(name = "audioFormat") String audioFormat,
                                           @RequestHeader(name = HisHeader.X_HIC_INFO) String hisInfo)
                                           {
                                            // 方法体
                                           }
    )
    

result. ""

    Not Found. ""