Я пытаюсь загрузить PDF-файлы, созданные с помощью dataToUrl, в firebase, но я получаю хранилище 403. Несанкционированно.
Я сделал npm i @ firebase / storage --save и в моем пакете. json он говорит:
"@firebase/storage": "^0.3.32",
У меня есть файл firebase. js, в котором хранятся мои учетные данные firebase:
import * as firebase from 'firebase';
import 'firebase/auth';
import 'firebase/firestore';
import '@firebase/storage';
const firebaseConfig = {
...my details here
};
firebase.initializeApp(firebaseConfig);
export default firebase;
Если я попытаюсь инициализировать корзину хранения, как сказано в документы, то он не загружается:
const bucket = "my-app-xxxxx.appspot.com/";
firebase.initializeApp(
{
credential: firebaseConfig,
storageBucket: bucket
}
);
Мой код, чтобы превратить DOM в JPEG, затем jpeg в pdf, затем сохраните pdf так:
import firebase from '../../Utils/firebase';
import uuid from 'react-uuid'
import 'firebase/auth';
import 'firebase/firestore';
import '@firebase/storage';
domtoimage.toJpeg(node, {width: reportInViewerRef.current.offsetWidth * 2, height: reportInViewerRef.current.scrollHeight * 2})
.then(function (dataUrl) {
const pdf = new jsPDF('p', 'px', [reportHeight - 20, reportWidth]);
pdf.addImage(dataUrl, 'JPEG', 0, -12, reportWidth, reportHeight);
pdf.save("download.pdf");
var storageRef = firebase.storage().ref();
var fileLocation = getUniqueFilename() + '.jpg'
var reportPdfRef = storageRef.child(fileLocation);
reportPdfRef.putString(dataUrl, 'data_url').then(function(snapshot) {
console.log('Uploaded a data_url string!', reportPdfRef);
});
// download(dataUrl, 'my-node.jpg')
})
.catch(function (error) {
console.error('oops, something went wrong!', error);
});
Мои правила хранения:
rules_version = '2';
service firebase.storage {
match /b/my-app-xxxxx.appspot.com/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}
Любое понимание приветствуется!