【问题标题】:No 'Access-Control-Allow-Origin' header in some chrome version某些 chrome 版本中没有“Access-Control-Allow-Origin”标头
【发布时间】:2021-07-13 14:34:35
【问题描述】:

我正在尝试通过我的客户端将一些图像上传到 cloudinary,它在 localhost 和 chrome 版本 87 上运行良好,但在 chrome v89 中我得到 No 'Access-Control-Allow-Origin' 标头错误,任何想法为什么会这样?

这是我的服务器路由:

const uploader = require('../config/cloudinary.config')

router.post('/upload', uploader.single("imageUrl"), (req, res) => {
    res.setHeader('Access-Control-Allow-Origin', 'client domain');
    if (!req.file) {
        res.status(500).json({ code: 500, message: 'Error loading the file' })
        return;
    }

    res.json({ secure_url: req.file.path })
})

这是我的 cors 配置:

const cors = require('cors')

const whitelist = [process.env.DOMAIN]

const corsOptions = {

    origin: (origin, cb) => {
        const originIsWhitelisted = whitelist.includes(origin)
        cb(null, originIsWhitelisted)
    },
    credentials: true
}

【问题讨论】:

    标签: node.js reactjs cors preflight http-options-method


    【解决方案1】:

    您可能需要处理CORS preflight requests,您的浏览器在 POST 请求之前将其显示为 OPTION 请求。

    将此行添加到您的代码中。

    router.options('/upload', cors())
    

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 1970-01-01
      • 2017-09-19
      • 2015-04-02
      • 2020-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多