Я провожу некоторые исследования и тестирование на основе примера браузера js-ipfs-http-client здесь
Когда я пытаюсь получить ответ от IPFS, я получаю следующее предупреждениеиз консоли Firefox:
Блокирован перекрестный запрос: та же политика происхождения запрещает чтение удаленного ресурса на http://localhost:5001/api/v0/add?wrapWithDirectory=true&progress=true&wrap-with-directory=true&stream-channels=true. (причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»).
Я уже пробовал рекомендованное (грязное) исправление, в котором вы меняете конфигурацию IPFS из терминала:
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
Но, похоже, даже это не работает.Я начал изучать возможность использования пользовательских заголовков, как упоминалось здесь
Не повезло.
Я настроил IPFS следующим образом: const ipfsClient = require ('ipfs-http-client«);var ipfs = ipfsClient ('localhost', '5001');
И затем, как только я получаю какой-то файл от пользователя, я пытаюсь сохранить его в IPFS следующим образом:
function saveToIpfsWithFilename (file)
{
console.log('running save');
let ipfsId;
const fileStream = fileReaderPullStream(file);
const fileDetails =
{
path: file.name,
content: fileStream
};
const options =
{
wrapWithDirectory: true,
progress: (prog) => console.log(`received: ${prog}`)
};
ipfs.add(fileDetails, options).then((response) =>
{
console.log(response)
// CID of wrapping directory is returned last
ipfsId = response[response.length - 1].hash
console.log(ipfsId)
}).catch((err) => {
console.error(err)
});
}