后台java获取文件后转成二进制数组,接着再转为base64字符串返回给前端
//获取文件
File file = new File(pdfpath_watermark);
//转为byte数组
byte[] data = FileUtil.fileConvertToByteArray(file);
//转为base64字符串
String data1 = Base64Utils.encodeToString(data);
前端将base64转为pdf
if (res.status == 200) {//请求成功
/*************将base64转为pdf地址****************/
const base64Data = res.datas
const binaryData = window.atob(base64Data)
let n = binaryData.length
const u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = binaryData.charCodeAt(n)
}
const blob = new Blob([u8arr], {
type: 'application/pdf;chartset=UTF-8',
})
const pdfUrl = window.URL.createObjectURL(blob)
/*****************************/
state.murl = '/static/pdf/web/viewer.html?file=' + pdfUrl
}