【发布时间】:2018-08-23 09:43:28
【问题描述】:
我想将录制的音频上传到 FireBase 存储,但即使我已经很久没有工作了,我仍然在为此努力。
我似乎有三个选择;用API上传,用FireBase上传,用socket上传。
我尝试了前两个选项,但没有得到很好的结果。
最后,我尝试了第二个选项。我已成功将音频文件发送到 FireBase。但是文件看起来很糟糕,无法播放。
这是我的代码;
DataProvider.ts:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import { AngularFireStorage, AngularFireUploadTask } from 'angularfire2/storage';
import { DateTime } from 'ionic-angular';
@Injectable()
export class DataProvider {
constructor(private db: AngularFireDatabase, private storage: AngularFireStorage) {
}
uploadToStorage(blob, metadata): AngularFireUploadTask {
let newName = new Date().getTime() + '.mp3';
return this.storage.ref('files/' + newName).put(blob);
}
}
Post.ts:
doPost() {
const metadata = {
contentType: 'audio/mp3',
};
const file = { dir: this.navParams.get('fileDir') }
console.log('Dir:' + file.dir);
var blob = new Blob([file.dir], { type: 'audio/mp3' });
let upload = this.dataProvider.uploadToStorage(blob, metadata);
upload.then().then(res => {
console.log('res: ', res);
})
}
【问题讨论】:
-
嘿朋友,你解决了吗?我在这里也有同样的情况。
-
@franzmobile 嘿,我通过.net 的后端服务解决了这个问题。我为此使用了 naudio .net
标签: angular firebase ionic-framework ionic3 firebase-storage