首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图从pinata ipfs渲染图像时CORS策略错误

当试图从pinata ipfs渲染图像时CORS策略错误
EN

Ethereum用户
提问于 2023-04-24 16:42:20
回答 1查看 46关注 0票数 0
代码语言:javascript
复制
pinata.js file
代码语言:javascript
复制
const FormData = require("form-data");

export const uploadJSONToIPFS = async (JSONBody) => {

  const url = `https://api.pinata.cloud/pinning/pinJSONToIPFS`;

  //making axios POST request to Pinata ⬇️

  return axios

    .post(url, JSONBody, {

      headers: {

        "Access-Control-Allow-Origin": "*",

        pinata_api_key: key,

        pinata_secret_api_key: secret,

      },

    })

    .then(function (response) {

      return {

        success: true,

        pinataURL:

          "https://gateway.pinata.cloud/ipfs/" + response.data.IpfsHash,

      };

    })

    .catch(function (error) {

      console.log(error);

      return {

        success: false,

        message: error.message,

      };
    });
};

export const uploadFileToIPFS = async (file) => {

  const url = `https://api.pinata.cloud/pinning/pinFileToIPFS`;

  //making axios POST request to Pinata ⬇️


  let data = new FormData();

  data.append("file", file);

  const metadata = JSON.stringify({

    name: "testname",
    keyvalues: {
      exampleKey: "exampleValue",
    },
  });
  data.append("pinataMetadata", metadata);

  //pinataOptions are optional

  const pinataOptions = JSON.stringify({

    cidVersion: 0,

    customPinPolicy: {

      regions: [

        {
          id: "FRA1",
          desiredReplicationCount: 1,
        },
        {
          id: "NYC1",
          desiredReplicationCount: 2,
        },
      ],
    },
  });
  data.append("pinataOptions", pinataOptions);


  return axios

    .post(url, data, {

      maxBodyLength: "Infinity",

      headers: {

        "Access-Control-Allow-Origin": "*",

        "Content-Type": `multipart/form-data; boundary=${data._boundary}`,
    enter code here
        pinata_api_key: key,
        pinata_secret_api_key: secret,
        Accept: "text/plain",
      },
    })
    .then(function (response) {
      console.log("image uploaded", response.data.IpfsHash);
      return {
        success: true,
        pinataURL:
          "https://gateway.pinata.cloud/ipfs/" + response.data.IpfsHash,
      };
    })
    .catch(function (error) {
      console.log(error);
      return {
        success: false,
        message: error.message,
      };
    });
};
[![enter image description here][1]][1]


  [1]: https://i.stack.imgur.com/fkDqe.jpg

尝试了互联网上所有无法解决的解决方案。

EN

回答 1

Ethereum用户

发布于 2023-04-25 05:53:29

只需尝试将此扩展添加到铬CORS:访问控制-允许-原产地"https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en“。

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

https://ethereum.stackexchange.com/questions/149429

复制
相关文章

相似问题

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