如何在HTML中显示Firebase存储文件(Docx)?

时间:2019-04-08 18:23:06

标签: html angular typescript firebase-storage

我尝试使用以下格式在HTML中显示Firebase存储中的文件(.docx):

<iframe src="https://docs.google.com/gview?url=<Storage-Link>"></iframe>

<iframe src='https://view.officeapps.live.com/op/embed.aspx?src=<Storage-Link>' width='1366px' height='623px' frameborder='0'></iframe>

但是什么都不起作用... 有人知道为什么它不起作用,或者另一个解决方案如何显示Firebase Storage中的.docx文件?

P.s。只有我的Firebase存储文件不起作用,其他文件起作用(http://writing.engr.psu.edu/workbooks/formal_report_template.doc&embedded=true),但是我的服务器规则是“允许读取”,所以我不明白为什么它不起作用...

1 个答案:

答案 0 :(得分:0)

好的,我找到了一个解决方案,问题只在于URL,所以我用Bitly将其更改为短URL

我为此创建了一个简单的Firebase功能:

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
import { BitlyClient } from 'bitly';

admin.initializeApp();    
const bitly = new BitlyClient('<Your-GA-Token>');

export const YourFunctionName = functions.firestore.document('Your-Doc-Path')
.onWrite((snapshot, context) => {
    const originalUrl = snapshot.after.data();
    bitly.shorten(originalUrl).then(function (result) {
        return admin.firestore().collection('Your-Collection').doc('Your-Doc').update(result.url).then(() => {
            console.log('Short Url: ' + result.url);
        });
    }).catch(function (error) {
        console.error(error);
    });
});