首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 200

net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 200
EN

Stack Overflow用户
提问于 2022-01-13 11:32:32
回答 3查看 7.9K关注 0票数 4

请帮我解决这个问题。我正在使用一个MERN应用程序。在应用程序中,我使用API将图像上传到云端。然后,我使用secure_url将图片上传到前端。它在本地主机上工作,但在heroku上不起作用,即图像没有上载。

本地主机:在这里输入图像描述

heroku:在这里输入图像描述

浏览器控制台中的响应:在这里输入图像描述

其他图片:在这里输入图像描述 在这里输入图像描述

upload.js

代码语言:javascript
运行
复制
const express = require("express");
const router = express.Router();
const cloudinary = require("cloudinary");
const { verifyTokenTeacher } = require("./verifyToken");

cloudinary.config({
  cloud_name: process.env.CLOUD_NAME,
  api_key: process.env.CLOUD_API_KEY,
  api_secret: process.env.CLOUD_API_SECRET,
});

// upload image
router.post("/upload", verifyTokenTeacher, (req, res) => {
  try {
    console.log(req.files);
    if (!req.files || Object.keys(req.files).length === 0)
      return res.status(400).json({ msg: "Fayl yuklanmangan" });

    const file = req.files.file; // oxiridagi file bu query parametr
    if (file.size > 1024 * 1024 * 2)
      return res.status(400).json({ msg: "Fayl hajmi 2mb dan kam bo'lsin" });

    // if file no image
    if (
      file.mimetype !== "image/jpeg" &&
      file.mimetype !== "image/jpg" &&
      file.mimetype !== "image/png"
    )
      return res.status(400).json({ msg: "Faqat JPEG va PNG rasm yuklang!" });

    cloudinary.v2.uploader.upload(
      file.tempFilePath,
      { folder: "test1" },
      async (err, result) => {
        if (err) {
          throw err;
        }

        return res
          .status(200)
          .json({ public_id: result.public_id, url: result.secure_url });
      }
    );
  } catch (err) {
    res.status(500).json(err.message);
  }
});

在前端使用图像url:

代码语言:javascript
运行
复制
<img src={question.image.url} alt="Rasm"  />

问题模型: Question.js

代码语言:javascript
运行
复制
    const mongoose = require("mongoose");
    const questionSchema = mongoose.Schema(
      {
        title: {
          type: String,
          required: true,
        },
        themeId: {
          type: String,
          required: true,
        },
        image: {
          type: Object,
          default: null,
        },
      },
      {
        timestamps: true,
      }
    );
    
    module.exports = mongoose.model("Question", questionSchema);

创建问题路由器: questions.js

代码语言:javascript
运行
复制
router.post("/", verifyTokenTeacher, async (req, res) => {
  try {
    await Theme.findById(req.body.themeId);
    const newQuestion = new Question(req.body);
    const savedQuestion = await newQuestion.save();
    res.status(201).json(savedQuestion);
  } catch (err) {
    res.status(500).json({ msg: err.message });
  }
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-09 14:25:04

在从cloudinary获取图像时,我也得到了同样的错误。

我通过在图像标记中添加crossorigin="anonymous"来解决错误。

只需在img标记中添加crossorigin="anonymous",如下所示:

代码语言:javascript
运行
复制
<img crossorigin="anonymous" src="https://example.com/image.jpg">

这将解决错误。

票数 3
EN

Stack Overflow用户

发布于 2022-09-06 13:36:31

在我的例子中,它是由Cross-Origin-Embedder-Policy: require-corp引起的(可能与另一个标头发生冲突,不确定是哪个头)。

Cross-Origin-Embedder-Policy: same-origin代替。

票数 0
EN

Stack Overflow用户

发布于 2022-01-13 21:19:33

我看到您得到的错误是"net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 200“

您会尝试添加这个头来告诉客户端浏览器允许它从Cloudinary域获取资源吗?

访问-控制-允许-起源:https://res.cloudinary.com/

如果这不能解决这个问题,请在http://support.cloudinary.com提交一张票,我们将进行更深入的研究。

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

https://stackoverflow.com/questions/70695881

复制
相关文章

相似问题

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