Javascript CORS vue.js与firebase

Javascript CORS vue.js与firebase,javascript,firebase,vue.js,Javascript,Firebase,Vue.js,我正在使用: vue.js 2 vue路线 武装分子 火基 vue pdf 我的项目包括阅读firebase的pdf(小说)。我的pdf文件存储在一个存储桶中,并分配给firebase中的一个新url字符串。我的主要问题是CORS每当我试图读取数据库中的任何pdf文件时,我都会遇到以下错误: Access to fetch at 'https://firebasestorage.googleapis.com/(urlpath)' from origin 'http://localhost:8

我正在使用:

  • vue.js 2
  • vue路线
  • 武装分子
  • 火基
  • vue pdf
我的项目包括阅读firebase的pdf(小说)。我的pdf文件存储在一个存储桶中,并分配给firebase中的一个新url字符串。我的主要问题是CORS每当我试图读取数据库中的任何pdf文件时,我都会遇到以下错误:

Access to fetch at 'https://firebasestorage.googleapis.com/(urlpath)' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
我用过这个chrome插件Moesif CORS。当它打开时,我可以在我的页面中看到pdf文件。所以我的代码可以工作,但是CORS的问题是什么阻止了它显示文件。 我对此进行了研究,并在我的开发代码中添加了以下内容:

module.exports = {
    // options...
    devServer: {
      proxy: 'https://firebasestorage.googleapis.com/'
    }
  }
我还将该站点部署到netlify,但问题仍然存在。我想知道我是否真的做错了什么?非常感谢您的帮助

阅读代码:

<template>
  <div>
    <Navbar />
    <v-container fluid>
      <h1>تقرأ الان {{novel.title}}</h1>
      <div class="novel-display">
        <!-- <pdf src="https://cdn.filestackcontent.com/wcrjf9qPTCKXV3hMXDwK" :page="1"></pdf> -->
        <pdf :src="novel.novel_url" :page="1"></pdf>
      </div>
      <p>{{novel.novel_url}}</p>
    </v-container>
    <Footer />
  </div>
</template>
<script>
import Navbar from "./Navbar";
import Footer from "./Footer";
import pdf from "vue-pdf";
import db from "../firebase/init";

export default {
  name: "Read",
  components: {
    Navbar,
    Footer,
    pdf
  },
  data() {
    return {
      novel: null
    };
  },
  created() {
    let ref = db
      .collection("Novels")
      .where("novel_slug", "==", this.$route.params.novel_slug);
    ref.get().then(snapshot => {
      snapshot.forEach(doc => {
        // console.log(doc.data());
        this.novel = doc.data();
        this.novel.id = doc.id;
      });
    });
  }
};
</script>

<style scoped>
.novel-display {
  border-style: solid;
}
</style>

تأاا㶌{小说.标题}
{{novel.novel}

从“/Navbar”导入导航栏; 从“/Footer”导入页脚; 从“vue pdf”导入pdf; 从“./firebase/init”导入数据库; 导出默认值{ 名称:“读”, 组成部分:{ 导航栏, 页脚, pdf }, 数据(){ 返回{ 小说:空 }; }, 创建(){ 设ref=db .收藏(“小说”) .where(“novel_slug”,“==”,this.$route.params.novel_slug); ref.get().then(快照=>{ snapshot.forEach(doc=>{ //console.log(doc.data()); this.novel=doc.data(); this.novel.id=doc.id; }); }); } }; .新颖的展示{ 边框样式:实心; }
由于您似乎是通过下载URL下载文件,您的问题很可能来自这样一个事实,即“要直接在浏览器中下载数据,,您必须将云存储桶配置为跨源访问(CORS)”,如云存储中所述


您需要使用
gsutil
命令行工具对其进行配置,如上述文档所述。

您是否能够以任何其他身份与firebase通信?@PavlosKaralis如果您的意思是,我可以从firebase获取数据,是的。我可以拉我所有的数据,只是pdf文件不会加载,它不是borken或任何东西。事实上,我已经尝试从这个网站加载这个pdf文件,我可以在我的应用程序中毫无问题地阅读。我知道这很奇怪。你能分享一下用来阅读PDF文件的代码吗?@RenaudTarnec我已经编辑了我的问题并添加了代码。请参考它。谢谢。谢谢你的编辑。请看我的答案。谢谢。我会查看文档并查看。嘿,谢谢你抽出时间。这解决了我的问题。再次感谢你。