URL возвращаемого файла IPFS - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь выполнить функцию загрузки файла в IPFS, которая возвращает строку URL-адреса, в которой находится файл. Но я не могу заставить его вернуть это. Я пытался использовать var и window для объявления переменной, но она всегда возвращает undefined. Также определяли enlace вне функции, но все равно она всегда объявляла undefined. Это как не обновлять значение вне функции. В качестве журнала консоли после него выведите URL. (и да, я знаю, что есть какой-то мусорный код, я пытался отладить проблему)

    function upload() {
      const reader = new FileReader();
      reader.onloadend = function() {
        const ipfs = window.IpfsApi('localhost', 5001) // Connect to IPFS
        const buf = buffer.Buffer(reader.result) // Convert data into buffer
        ipfs.files.add(buf, (err, result) => { // Upload buffer to IPFS
          if(err) {
            console.error(err)
            return
          }
          window.enlace = `http://127.0.0.1:8080/ipfs/${result[0].hash}`
          console.log(`Url --> ${enlace}`)
          console.log(typeof enlace)
          //document.getElementById("url").innerHTML= url
          //document.getElementById("url").href= url
          //document.getElementById("output").src = url
        })
      }
      const photo = document.getElementById("photo");
      reader.readAsArrayBuffer(photo.files[0]); // Read Provided File
      return window.enlace;

    }
...