vue2 img src 无法显示问题

1、页面标签这样写

<img :src="pdf2wordUrl" alt="Image">

2、data这样定义

pdf2wordUrl: imgOff,

3、import这样写

    import imgOn from '../../assets/on.png'
    import imgOff from '../../assets/off.png'

4、转换代码

                if (type == 'pdf2word') {
                    this.convertTitle = 'pdf 转换 word'
                    this.turnOff()
                    this.pdf2wordUrl = imgOn
                }

完整代码参考

<template>
    <div class="body">
        <div class="zhanwei" v-if="zhanwei"></div>
        <div style="height: 60px"></div>
        <div class="content">
            <div class="title">
                <div @click="tabChange('pdf2word')" id="div1">
                    <img :src="pdf2wordUrl" alt="Image">
                    pdf转换Word &nbsp;&nbsp;&nbsp;
                    <a-divider dashed/>
                </div>
                <div @click="tabChange('pdf2excel')" id="div2">
                    <img :src="pdf2excelUrl" alt="Image">
                    pdf转换Excel &nbsp;&nbsp;&nbsp;
                    <a-divider dashed/>
                </div>
                <div @click="tabChange('pdf2ppt')" id="div3">
                    <img :src="pdf2pptUrl" alt="Image">
                    pdf转换PPT &nbsp;&nbsp;&nbsp;
                    <a-divider dashed/>
                </div>
                <div @click="tabChange('pdf2jpg')" id="div4">
                    <img :src="pdf2jpgUrl" alt="Image">
                    pdf转换图片 &nbsp;&nbsp;&nbsp;
                    <a-divider dashed/>
                </div>
                <div @click="tabChange('pdf2html')" id="div5">
                    <img :src="pdf2htmlUrl" alt="Image">
                    pdf转换Html &nbsp;&nbsp;&nbsp;
                    <a-divider dashed/>
                </div>
                <div @click="tabChange('pdf2text')" id="div6">
                    <img :src="pdf2textUrl" alt="Image">
                    pdf转换Text &nbsp;&nbsp;&nbsp;
                    <a-divider dashed/>
                </div>
            </div>
            <div class="upload">
            </div>
            <div class="text-pdf">
                {{convertTitle}}
            </div>
            <div class="text-pdf-file">
                将文件拖到此处,或点击选择文件按钮,小于100MB,请不要上传电子书等存在侵权的资源!
            </div>
            <div class="text-pdf-file">
                <input @change="handleFileUpload" class="button-add" type="file">
                <a-button :block="true" @click="pdf2word()" class="button-pro" style="text-align: center"
                          type="primary">
                    开始处理
                </a-button>
            </div>
        </div>
    </div>
</template>
<script>
    import PermissionModal from './modules/PermissionModal'
    import GlobalFooter from '@/components/page/GlobalFooter'
    import { JeecgListMixin } from '@/mixins/JeecgListMixin'
    import PermissionDataRuleList from './PermissionDataRuleList'
    import JEllipsis from '@/components/jeecg/JEllipsis'
    import http from '@api/url'
    import imgOn from '../../assets/on.png'
    import imgOff from '../../assets/off.png'
    export default {
        name: 'pdf2excel',
        mixins: [JeecgListMixin],
        components: {
            PermissionDataRuleList,
            PermissionModal,
            GlobalFooter,
            JEllipsis
        },
        data() {
            return {
                consoleText: '',
                file: null,
                timer: null,
                zhanwei: false,
                aLiModeData: {
                    'model': 'wanx-v1',
                    'input': {
                        'prompt': '一只奔跑的猫'
                    },
                    'parameters': {
                        'style': '<sketch>',
                        'size': '1024*1024',
                        'n': 1,
                        'seed': 42,
                        'strength': 0.5,
                        'ref_mode': 'repaint'
                    }
                },
                otherModeData: {
                    modelKey: '',
                    prompt: '',
                    sizeIndex: 0,
                    styleIndex: 0,
                },
                userShow: true,
                image1: 'require(\'@/assets/on.png\')',
                image2: 'require(\'@/assets/off.png\')',
                currentImage: '',
                pdf2wordUrl: imgOff,
                pdf2excelUrl: imgOff,
                pdf2pptUrl: imgOff,
                pdf2jpgUrl: imgOff,
                pdf2htmlUrl: imgOff,
                pdf2textUrl: imgOff,
                aLiModeData: {
                    'url': '',
                },
                aLiDocFind: {
                    'id': '',
                },
                flag: '0',
                convertTitle: 'pdf 转换 word'
            }
        },
        mounted() {
            // 添加滚动事件监听
            window.addEventListener('scroll', this.handleScroll)
            this.currentImage = this.image1
        },
        beforeDestroy() {
            // 移除滚动事件监听
            window.removeEventListener('scroll', this.handleScroll)
        },
        methods: {
            handleScroll() {
                // 处理滚动事件
                if (window.scrollY >= 20) {
                    this.zhanwei = true
                } else {
                    this.zhanwei = false
                }
            },
            handleFileUpload(event) {
                this.file = event.target.files[0]
            },
            submitFile() {
                if (!this.file) {
                    alert('请选择一个文件')
                    return
                }
                const formData = new FormData()
                formData.append('file', this.file)
            },
            pdf2word() {
                const formData = new FormData()
                formData.append('file', this.file)
                http.post('/upload/file', formData, {
                    headers: {
                        'Content-Type': 'multipart/form-data'
                    }
                })
                    .then((response) => {
                        console.log('pdf2word response data:', response)
                        console.log('pdf2word response data:', response.data.url)
                        // 处理响应
                        this.aLiModeData.url = response.data.url
                        this.pdf2wordByaliyunProcStepOne()
                    })
                    .catch((error) => {
                        console.log(error)
                    })
            },
            pdf2wordByaliyunProcStepOne() {
                //调用阿里云api开始处理
                http.post('/concert/pdfToWord', this.aLiModeData)
                    .then((response) => {
                        console.log('concert/pdfToWord 9999:', response)
                        this.aLiDocFind.id = response.data.data.body.Data.Id
                        this.pdf2wordByaliyunProcStep02()
                    })
                    .catch((error) => {
                        console.log(error)
                    })
            },
            pdf2wordByaliyunProcStep02() {
                //this.aLiDocFind.id = 'docmind-20240704-e0c78c564b7f4da9820774ef3e008bff'
                http.post('/getConvertResult/GetDocumentConvertResult', this.aLiDocFind)
                    .then((response) => {
                        console.log('-----------------monitor start------', response.data.data.body.Completed)
                        if (response.data.data.body.Completed.toString() == 'false') {
                            console.log('-----------------monitor start------')
                            this.monitor()
                        } else {
                            // clearInterval(this.timer); // 销毁组件前清除定时器
                            //alert("clearInterval time");
                            clearInterval(this.timer)
                            console.log('-----------------finish------', response)
                            console.log('-----------------finish------', response.data.data.body.Data[0].Url)
                            // 打开一个新窗口或新标签,并导航到指定的URL
                            //window.open(response.data.data.body.Data[0].Url, '_blank')
                        }
                    })
                    .catch((error) => {
                        console.log(error)
                    })
            },
            monitor() {
                //执行需要定时重复执行的任务
                this.timer = setInterval(() => {
                    console.log('timer start ')
                    this.pdf2wordByaliyunProcStep02()
                }, 2000) // 每2秒钟执行一次
            },
            tabChange(type) {
                if (type == 'pdf2word') {
                    this.convertTitle = 'pdf 转换 word'
                    this.turnOff()
                    this.pdf2wordUrl = imgOn
                }
                if (type == 'pdf2excel') {
                    this.convertTitle = 'pdf 转换 excel'
                    this.turnOff()
                    this.pdf2excelUrl = imgOn
                }
                if (type == 'pdf2ppt') {
                    this.convertTitle = 'pdf 转换 ppt'
                    this.turnOff()
                    this.pdf2pptUrl = imgOn
                }
                if (type == 'pdf2jpg') {
                    this.convertTitle = 'pdf 转换 jpg'
                    this.turnOff()
                    this.pdf2jpgUrl = imgOn
                }
                if (type == 'pdf2html') {
                    this.convertTitle = 'pdf 转换 html'
                    this.turnOff()
                    this.pdf2htmlUrl = imgOn
                }
                if (type == 'pdf2text') {
                    this.convertTitle = 'pdf 转换 text'
                    this.turnOff()
                    this.pdf2textUrl = imgOn
                }
            },
            turnOff() {
                this.pdf2wordUrl = imgOff
                this.pdf2excelUrl = imgOff
                this.pdf2pptUrl = imgOff
                this.pdf2jpgUrl = imgOff
                this.pdf2htmlUrl = imgOff
                this.pdf2textUrl = imgOff
            },
            turnOn() {
                this.pdf2wordUrl = imgOn
                this.pdf2excelUrl = imgOn
                this.pdf2pptUrl = imgOn
                this.pdf2jpgUrl = imgOn
                this.pdf2htmlUrl = imgOn
                this.pdf2textUrl = imgOn
            },
            // 上传图片
            handleChange(info) {
                const status = info.file.status
                if (status !== 'uploading') {
                    // console.log(info.file, info.fileList);
                }
                if (status === 'done') {
                    this.$message.success(`${info.file.name} file uploaded successfully.`)
                } else if (status === 'error') {
                    this.$message.error(`${info.file.name} file upload failed.`)
                }
            }
        }
    }
</script>
<style lang="less" scoped>
    .zhanwei {
        //background-color: #ffffff;
        width: 100%;
        height: 110px;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 8;
        background: url(../../assets/imgs/home_backCopy.png) no-repeat 100%;
        /*background-image: url("assets/imgs/home_backCopy.png");*/
        background-size: 100%;
    }
    .content {
        width: 1700px;
        border-radius: 10px;
        opacity: 1;
        background: rgba(255, 255, 255, 0.5);
        box-sizing: border-box;
        border: 1px solid #FFFFFF;
        margin: auto;
        padding: 30px;
        .title {
            font-family: 思源黑体;
            font-size: 20px;
            font-weight: 500;
            line-height: normal;
            letter-spacing: 0em;
            color: #3D3D3D;
            .titleDivider {
                margin-top: 12px;
                margin-bottom: 1px;
                width: 100%;
                height: 4.12px;
                opacity: 1;
                /* 蓝紫渐变 */
                /*background: linear-gradient(95deg, #3A78FF 0%, #813BFF 95%);*/
                background: #22e2ff;
                .titleItem {
                    display: flex;
                }
            }
        }
        #div1, #div2, #div3, #div4, #div5, #div6 {
            display: inline-block;
        }
        .upload {
            margin: 60px auto 0 auto;
            width: 300px;
            height: 300px;
            border: 2px solid red;
            background-image: url('../../assets/pdf2word.png'); /* 图片背景 */
            background-size: contain;
        }
        .text-pdf {
            margin: 60px auto 0 auto;
            font-size: 70px;
            text-align: center;
            display: block;
        }
        .text-pdf-file {
            display: block;
            margin: 60px auto 0 auto;
            font-size: 40px;
            text-align: center;
        }
        .button-add {
            width: 300px;
            height: 70px;
            border-radius: 10px;
        }
        .divider {
            border-top: 1px solid #ccc; /* 分割线的颜色和宽度 */
            margin: 5px 5px 5px 5px; /* 分割线的上下外边距 */
        }
        .button-line {
            display: flex;
            margin-top: 30px;
        }
        .button-input {
            display: flex;
            margin-top: 30px;
            text-align: center;
        }
        .flex-item {
            flex: 1 1 auto;
            width: 15px;
            margin-right: 10px;
        }
        .circle {
            flex: 1 1 auto;
            width: 15px;
            margin-right: 10px;
            border-radius: 10px;
            background: #7de3c8;
        }
        .label {
            line-height: 20px;
            display: inline-block;
            margin-left: 5px;
            margin-right: 15px;
            color: #777;
        }
        .radio_type {
            width: 20px;
            height: 20px;
            appearance: none;
            position: relative;
        }
        .radio_type:before {
            content: '';
            width: 20px;
            height: 20px;
            border: 1px solid #7d7d7d;
            display: inline-block;
            border-radius: 50%;
            vertical-align: middle;
        }
        .radio_type:checked:before {
            content: '';
            width: 20px;
            height: 20px;
            border: 1px solid #c59c5a;
            background: #c59c5a;
            display: inline-block;
            border-radius: 50%;
            vertical-align: middle;
        }
        .radio_type:checked:after {
            content: '';
            width: 10px;
            height: 5px;
            border: 2px solid white;
            border-top: transparent;
            border-right: transparent;
            text-align: center;
            display: block;
            position: absolute;
            top: 6px;
            left: 5px;
            vertical-align: middle;
            transform: rotate(-45deg);
        }
        .radio_type:checked + label {
            color: #c59c5a;
        }
        .container {
            display: flex;
        }
        .left {
            width: 70%;
        }
        .right {
            width: 100%;
            margin-right: 35px;
        }
        .button-pro {
            font-size: 40px;
            width: 200px;
            height: 70px;
            margin-left: 120px;
            border-radius: 10px;
            background: repeating-linear-gradient(to right, #3c75ff, #7f3cff);
        }
    }
    .body {
        z-index: 1;
        position: relative;
    }
</style>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值