我正在使用NuxtJS的AsyncData方法从API提取视频文件,然后作为文件对象返回页面。
像这样:
async AsyncData({$axios}){
var user_video = null;
try{
var video = $axios.get("my awesome url");
user_video = new File([video], "video.mp4",{type:"video/mp4"}); // <= this line
}catch(error){
console.log(error);
console.log("no saved video");
}
return {user_video};
}
在服务器端控制台中,它显示此错误:
ReferenceError: File is not defined
at asyncData (pages/send/video.js:155:11)
at process._tickCallback (internal/process/next_tick.js:68:7)
no saved video
我查看了其他要使用的nuxtjs Content
键,这些键可能与创建新的File Object有关,但我没有找到任何键。 https://nuxtjs.org/api/context
尽管我什么都没找到,但我尝试使用asyncdata中的File
对象来搜索类似的错误。
有什么建议吗?
编辑----也要添加:
我要从中获取的URL会出现一个下载对话框,以防可能与之相关。
答案 0 :(得分:0)
asyncData在第一次加载时在服务器上执行。并且在服务器上,节点中没有诸如File之类的东西。因此,您不能在服务器代码上使用文件。
您应该不使用File或不使用asyncData并使用挂接的钩子来获取和设置数据。