title: Firebase Storage/Bucket public upload with node.js
body: <p>Code:</p>
  
  <pre><code>var storage = require('@google-cloud/storage');
  var gcs = storage({
      projectId: config.google.projectId,
      keyFilename: config.google.keyFilenameFirebase
  });
  
  var bucket = gcs.bucket('project-id.appspot.com');
  var destination = 'uploads/12345/full.jpg';
  
  bucket.upload(myFile, { public: true, destination: destination }, function(err, file) {
      if (err) {
          console.log(err);
      }
  });
  </code></pre>
  
  <p>My file is successfully uploaded to my firebase storage, but:</p>
  
  <ol>
  <li>The file is now publicly accessible through the url:
  <a href="https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg" rel="noreferrer">https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg</a>. Can I use this fixed URL in my App or is it likely, that it will change or expire?</li>
  <li><code>public: true</code> seems to break the Firebase Storage UI:</li>
  </ol>
  
  <p><a href="https://i.stack.imgur.com/PAZ7m.png" rel="noreferrer"><img src="https://i.stack.imgur.com/PAZ7m.png" alt="enter image description here"></a>
  The preview of the image on the right side is not showing and I'm unable to download the image via the download button. Also, there is no download url (which I don't mind, cause I can access it via the link above) and when clicking "Create new download URL" Firebase yields </p>
  
  <blockquote>
    <p>Error generating download URL</p>
  </blockquote>
  
  <p>When removing <code>public: true</code> the preview is shown correctly and I can also generate a download URL. But the public url  <a href="https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg" rel="noreferrer">https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg</a> won't work anymore, which is necessary for me.</p>
  
  <p>So my plan is to stick to <code>public: true</code>, but it still bugs me, that the preview/download button is not working and it looks like a bug in Firebase to me. Can anyone confirm that?</p>