我是Angular的新成员。
我正在使用技术来做项目:
后端:Spring Boot
前端:角度
数据库:
*我的SQL要保存信息类型String(text,....)
我完成了将文件从FireBase推送到Angular的操作。
但是,我不想直接从Firebase获取文件。
目标:我想从Fire Base获取url文件,以将请求发送到后端,然后将其保存在My SQL中。
然后,当绑定数据(包括文本和文件)时,将使用后端和My SQL
那么,您能帮我从Fire Base获取Url文件吗?
非常感谢您。
首先,我使对象上载文件。 其次,我制作服务上传文件。(Pushfile,getfile) 第三,我编写component.ts(contructur中的DI服务) -我将变量设置为fileupload:any [] = [] -我使用getfile方法调用服务。 -将列表文件保存到文件上传。 -然后,我想从fileupload获取url,但并不完美。 第四,我编写component.html
答案 0 :(得分:0)
@Paresh Gami 我的项目服务使用FireBase制作6种方法:
这是推送文件
的代码pushFileToStorage(fileUpload: FileUpload, progress: { percentage: number }) {
const storageRef = firebase.storage().ref();
const uploadTask = storageRef
.child(`${this.basePathFile}/${fileUpload.file.name}`)
.put(fileUpload.file);
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED,
(snapshot) => {
const snap = snapshot as firebase.storage.UploadTaskSnapshot;
progress.percentage = Math.round((snap.bytesTransferred / snap.totalBytes) * 100);},
(error) => { console.log(error); },
() => {
uploadTask.snapshot.ref.getDownloadURL().then(downloadURL => {
console.log('File available at', downloadURL);
fileUpload.url = downloadURL;
fileUpload.name = fileUpload.file.name;
this.saveFileData(fileUpload); });
}
);
}
这是获取文件
getFileUploads(numberItems): AngularFireList<FileUpload> {
return this.db.list(this.basePathFile, ref => ref.limitToLast(numberItems));
}