上传文件
接口说明
上传文件,限制大小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) { // 方法体 } )