我正在尝试发送音频文件,但我认为我没有正确选择文件。 我正在使用react-native-audio-toolkit,并且试图在它记录的地方使用rec对象,但这似乎不起作用,如何获取文件进行发送? 代码:
let rec = new Recorder("filename.mp4").record();
// Stop recording after approximately 3 seconds
setTimeout(() => {
rec.stop(err => {
// NOTE: In a real situation, handle possible errors here
let data = new FormData();
data.append("recording[path_to_recording]", rec);
data.append("recording[challenge_id]", 1);
data.append("recording[user_id]", 1);
console.log(data);
axios
.post(config.API_URL + "recordings", data, {
headers: {
Authorization: "Bearer " + this.props.auth.token
}
})
.then(res => res.data);
录制文件的日志如下:
记录器{_path:“ filename.mp4”,_ options:{…},_ recorderId:0,_state:-2,_duration:-1,…} _持续时间 : -1 _fsPath : “ /data/user/0/com.cobrn/files/filename.mp4” _lastSync : -1 _options : 自动销毁 : (...) 获取自动销毁 : ƒ() 设置autoDestroy : ƒ() 原始 : 宾语 _路径 : “ filename.mp4” _位置 : -1 _recorderId : 0 _州 : -2 可以准备 : (...) canRecord : (...) fsPath : (...) isPrepared : (...) isRecording : (...) 州 : (...) 原始 : EventEmitter
答案 0 :(得分:0)
弄清楚了,您需要指定类型
data.append("recording[path_to_recording]", {
uri: "file://" + rec._fsPath,
name: "filename.mp4",
type: "audio/mp4"
});