iframe 本地的PDF展示,地址src的获取
1、H5 iframe 本地PDF展示
获取本地pdf文件路径及名称:
'use strict'
const Controller = require('egg').Controller;
const fs = require("fs");
const path = require("path");
class PDFDownload extends Controller {
async getPDFData({ctx}) {
let {app} = this;
try {
let dir = '../documents/pdf', //相较于当前文件的pdf夹文件路径,pdf文件夹下有all文件夹
data = {
all:[]
}
fs.readdirSync(dir).forEach((file) => { //file 底下文件夹名
var pathname = path.join(dir, file)
if (file == "all") {
fs.readdirSync(pathname).forEach((file2) => {
var pathname2 = path.join(pathname, file2)
data[file].push({name: file2, path: pathname2.replace("..", "")});
//path就是相对路路径,name是文件名
})
}
})
return data
} catch (error) {
return {error: error.toString()};
}
}
}
module.exports = PDFDownload
iframe展示:
<div v-for="(item,index) in pdfData" :key="index">
<iframe :src="item.path" name="valueName" frameborder="0" :style="{ height: height-70 + 'px', width: '100%' }"></iframe>
</div>
2、使用本地host + 相对路径
<template>
<div>
<iframe :src="src" style="height:100%;width:100%"></iframe>
</div>
</template>
export defalut{
..
data(){
return(){
src:""
}
},
method:{
async getData(){
let host = window.location.host
this.host = "http://" + host + "/路径/路径/文件名.pdf"
}
},
mounted(){
this.getData()
}
}