Как сохранить URL-адрес файла хранилища Firebase в Firestore? - PullRequest
0 голосов
/ 12 февраля 2019

Я создал HTML-форму для FireBase с использованием JavaScript.У меня есть четыре текстовых поля и метка времени.У меня есть кнопка загрузки, которая правильно хранит файл (pdf) в хранилище Firebase.Я хотел бы сохранить URL-адрес файла в хранилище FireBase в базе данных FireStore.

Я пробовал несколько способов получить URL и сохранить его.Кажется, моя проблема заключается в том, что «destination: downloadUrl (SignUrl)» не хранит подписанные URL-адреса файла, а местоположение из-за const downloadUrl.Я не могу понять, что мне не хватает const для загрузки фактического URL.Я упустил что-то в синтаксисе и не могу указать на это.

const form = document.querySelector('#form_data');
const timestamp = firebase.firestore.FieldValue.serverTimestamp();
const downloadUrl = 'https://firebasestorage.googleapis.com/v0/b/company_info.appspot.com/Client_Uploads/o/';

  //var app = firebase.initializeApp(config);

// Initialize Firebase
var config = {
  apiKey: "Something",
  authDomain: "Something",
  databaseURL: "Something",
  projectId: "Something",
  storageBucket: "Something",
  messagingSenderId: "Something"
};
firebase.initializeApp(config);
const db = firebase.firestore();
var storageRef = firebase.storage().ref();

// saving data credit_union_referrals



form.addEventListener('submit', (e) => {
  e.preventDefault();

  var fileButton = document.getElementById('fileButton'); 

  var uploader = document.getElementById('uploader'); 

  fileButton.addEventListener ('change', async function(e) { 
  var file = e.target.files[0]; 
  var storageRef = firebase.storage().ref('Client_Uploads/' 
   + file.name);
  var task = storageRef.put(file);  

  const uploadOptions = {
    destination: uploadFilePath,
    public: true
  };
  let uploadedFile = await bucket.upload(tempThumbFilePath, uploadOptions)
  const signedUrls = await uploadedFile[0].getSignedUrl({action: 'read', expires: '01-01-4499'})
  const publicUrl = signedUrls[0];


  })


  db.collection("firestore_category").add({
      lname: form.lname.value,
      inlineFormCustomSelect: form.inlineFormCustomSelect.value,
      additionalinformation: form.additionalinformation.value,
      acceptance: form.acceptance.value,
      timestamp: firebase.firestore.FieldValue.serverTimestamp(),
  destination: downloadUrl(signedUr),

})
  .then(function(docRef) {
console.log("Referral successfully sent!", docRef.id);
  })
  .catch(function(error){
console.error("Error sending referral: ", error);
  });
  form.something.value = '';
  form.next.value = '';
  form.additionalinformation.value = '';
  form.acceptance.value = '';

})

Ожидаемые результаты: URL загруженного файла будет сохранен в базе данных firestore.Вместо этого файл загружен правильно, но URL не сохраняется.Любая помощь или руководство с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...