【发布时间】:2018-09-23 16:49:02
【问题描述】:
我正在使用 ionic 3 平台将视频文件上传到 vimeo api。我需要获取视频文件的二进制数据,并且我正在使用输入类型文件元素进行上传。
我写的代码如下
videoUploadBody(videoObj) {
const r = new FileReader();
r.onload = function(){
console.log("Binary data", r.result);
return r.result;
};
r.readAsArrayBuffer(videoObj);
}
这是我需要调用的函数,它应该以二进制形式返回我的视频文件。我调用上述函数的函数如下
uploadVideo(videoFile, createdVideo) : Observable<any> {
const bodyObj = this.compilerProvider.videoUploadBody(videoFile);
return this.http.patch<Observable<any>>(createdVideo.upload.upload_link, bodyObj, this.uploadReqOpts);
}
这里的 bodyObj 变量包含未定义,而我有 console.log 是 videoUploadBody 函数给我二进制形式的数据。
我认为存在一些异步或承诺问题。我需要更改哪些内容才能在 uploadVideo 函数中取回二进制数据?
【问题讨论】:
标签: javascript angular http filereader