前端js打开pdf文件--文件通过浏览器打开,以pdf形式进行预览

3 篇文章 1 订阅

通过点击button按钮,触发 @click="openPDF(performance_report)"方法,把对应需要展示的pdf传送到openPDF()方法内,这里的pdf文件格式必须包括id、name、url。

在这里,performance_report为预览的文件:

    <div>
        <el-button type="text" size="mini" @click="openPDF(performance_report)">
            测试报告
        </el-button>
    </div>

<script>
    export default {
        components: {},
        data() {
            return {
                performance_report: [{
                    id: null,//文件的id
                    name: "",//文件的名称
                    url: "",//文件的url
                }, ],
            };
        },


        created() {},
        mounted() {},

        computed: {},

        methods: {
            //打开的文件一般是在后端存储的,从后端取到文件后,把文件传输到openPDF方法,用val接收即可。
            openPDF(val) {
                axios({
                    method: "get",
                    url: val[0].url,
                    params: {
                        fileId: val[0].id,
                    },
                    responseType: "blob",
                }).then((res) => {
                    console.log("res", res);
                    if (res.status == "500") {
                        this.$message({
                            message: "下载失败!",
                            type: "error",
                        });
                        return;
                    }
                    //文件以pdf形式进行预览
                    let blob = new Blob([res.data], {
                        type: "application/pdf;chartset=UTF-8",
                    });
                    let fileURL = URL.createObjectURL(blob);
                    // this.fileURLOther = fileURL;
                    window.open(fileURL);
                });
            }
        }
    }
</script>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值