首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带火源的CORS vue.js

带火源的CORS vue.js
EN

Stack Overflow用户
提问于 2020-07-22 15:25:15
回答 1查看 988关注 0票数 4

我正在使用:

  • vue.js 2
  • vue-路线
  • 争夺战
  • 火力基地
  • vue-pdf

我的项目包括阅读pdf (小说)从火基地。我的pdf文件存储在一个桶中,并分配给一个novel_url字符串在火基地。我的主要问题是CORS,每当我试图读取数据库中的任何pdf文件时,我都会得到以下错误:

代码语言:javascript
复制
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.

我用过这个镀铬插件Moesif CORS。当它打开时,我能够在我的页面中看到pdf文件。所以我的代码可以工作,但是CORS问题是阻止它显示文件的原因。我查看了这个解决方案,并在我的开发代码中添加了以下内容:

代码语言:javascript
复制
module.exports = {
    // options...
    devServer: {
      proxy: 'https://firebasestorage.googleapis.com/'
    }
  }

我也部署了网站上网,但仍然存在问题。我在想我是不是真的做错了什么?任何帮助都是非常感谢的。

阅读代码:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-22 16:33:28

由于您似乎是通过下载URL下载文件,所以您的问题很可能来自这样一个事实:“要在浏览器中直接下载数据,您必须配置云存储桶以进行跨源访问(CORS)",正如云存储文档中所解释的那样。

您需要使用gsutil命令行工具配置它,如上面提到的文档中所解释的那样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63037770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档