HarmonyOS 鸿蒙Next如何使用axios上传缓存中的录音文件?

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何使用axios上传缓存中的录音文件? 如何使用axios上传缓存中的录音文件?另外如果是放置在工程目录下的MP3文件能否上传,如果可以该如何获取该文件

3 回复

其实文件上传下载部分,如果录音文件在沙箱目录haps/entry/cache下,则直接上传;如果文件不在则需要将文件拷贝至该目录后上传。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-upload-download-V5
注意:上传文件地址internal://cache/xxx.MP3,这里对应的是沙箱目录haps/entry/cache下的xxx.MP3

以及关于axios上传,可以参考链接:https://gitee.com/openharmony-sig/ohos_axios#%E5%BD%99%E4%B8%8A%E4%BC%A0%E7%9A%84%E5%86%85%E5%AE%B9%E4%B8%BAarraybuffer%E6%97%B6%E7%94%A8%E6%B3%95%E5%A6%82%E4%B8%8B

上传类型支持uri和ArrayBuffer,uri支持“internal”协议类型和沙箱路径的,看能否将文件转到沙箱目录下

更多关于HarmonyOS 鸿蒙Next如何使用axios上传缓存中的录音文件?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


let formData = new FormData();

formData.append('file', `internal://cache/recorder_translate_${this.index}.pcm`);
let res = await uploadSpeechTrans('', formData, getContext());

在HarmonyOS(鸿蒙)系统中,使用axios上传缓存中的录音文件,通常涉及以下几个步骤:

  1. 获取录音文件路径:首先,确保你已经成功录制音频并保存到了设备的存储中。获取该录音文件的完整路径。

  2. 读取文件内容:使用鸿蒙提供的文件读取API(如FileIOFileProvider),读取录音文件的内容。鸿蒙系统提供了丰富的文件操作API,可以方便地读取本地文件。

  3. 创建FormData对象:在JavaScript中,创建一个FormData对象,并将录音文件作为其中一个字段添加到该对象中。这一步是为了构建符合HTTP请求规范的请求体。

  4. 配置axios请求:使用axios发起一个POST请求,将FormData对象作为请求体发送。注意设置请求头Content-Typemultipart/form-data,这通常是自动设置的,但如果有需要也可以手动指定。

  5. 发送请求:最后,调用axios的post方法发送请求,上传录音文件到服务器。

示例代码(伪代码,具体实现需根据鸿蒙API调整):

const formData = new FormData();
formData.append('audio', fileContent); // fileContent为读取的文件数据

axios.post('your-upload-url', formData, {
    headers: {
        'Content-Type': 'multipart/form-data'
    }
}).then(response => {
    // 处理响应
}).catch(error => {
    // 处理错误
});

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部