Я создал 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 не сохраняется.Любая помощь или руководство с благодарностью!