我正在使用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会出现一个下载对话框。
最佳答案
asyncData在第一次加载时在服务器上执行。并且在服务器上,节点中没有诸如File之类的东西。因此,您不能在服务器代码上使用文件。
您应该不使用File或不使用asyncData并使用挂接的钩子来获取和设置数据。
关于javascript - 未定义文件对象NuxtJS AsyncData(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57117751/