预览和下载 (pc和微信小程序)

news/2024/12/21 8:24:38/

1.微信小程序 预览pdf 或者 图片等 

//utils.js  文件//通过接口返回文件链接 打开文档
export default function previewFile({ downLinkUrl, tempFilePath }) {let url = "https://" + downLinkUrl.replace("http://", "").replace("https://", "");return new Promise((resolve, reject) => {wx.downloadFile({url: url,success(res) {//保存到本地wx.saveFile({tempFilePath: res.tempFilePath,success(res) {const savedFilePath = res.savedFilePath;// 打开文件wx.openDocument({filePath: savedFilePath,showMenu: true,success(res) {resolve({ code: 200, msg: "打开文档成功", data: { savedFilePath } });},fail(err) {reject({ code: 500, msg: "打开文件失败", data: err });}});},fail(err) {reject({ code: 500, msg: "保存文件失败", data: err });}});},fail(err) {reject({ code: 500, msg: "下载文件失败", data: err });}});});
}
 //预览       previewFile(item) {//图片类型const isImageType = [".png", ".jpe", ".jpeg", ".jpg", ".gif"];const fileSuffix = item.fileName.substring(item.fileName.lastIndexOf("."));//如果是图片if (isImageType.includes(fileSuffix)) {wx.previewImage({showmenu: true,urls: [item.downLinkUrl], // 需要预览的图片 http 链接列表success() {console.log("打开图片成功");},fail(err) {console.log(err);uni.$u.toast("打开图片失败");}});} else {uni.showLoading();//如果有临时文件路径if (item.tempFilePath) {// 打开文件wx.openDocument({filePath: item.tempFilePath,showMenu: true,success(res) {uni.$u.toast("打开文档成功");},fail(err) {uni.$u.toast("预览失败请稍后重试");}});} else {previewFile(item).then(res => {let { savedFilePath } = res.data;item.tempFilePath = savedFilePath;uni.$u.toast(res.msg);}).catch(err => {uni.$u.toast(err.msg);}).finally(() => {// uni.hideLoading();});}}},//判断是否显示预览按钮isPreviewFileType(fileName) {const fileSuffix = fileName.substring(fileName.lastIndexOf("."));const isPreviewFileType = [".png",".jpe",".jpeg",".jpg",".gif",".pdf",".PDF",".doc",".docx",".dot",".xlc",".xlm",".xls",".xlt",".xlw",".xlsx"];if (isPreviewFileType.includes(fileSuffix)) {return true;} else {return false;}}

文件下载

        downLoadFile(item) {if (item.downLoading) return;item.downLoading = true;const linkUrl = item.downLinkUrl.replace(/^http:\/\//, "https://");uni.downloadFile({url: linkUrl,success: res => {item.downTempFilePath = res.tempFilePath;this.onExport(item);},fail: err => {console.log("err----", err);this.$u.toast("下载失败,请检查您的网络");},complete: function() {setTimeout(() => {item.downLoading = false;}, 0);}});},

 2.浏览器预览

export function previewHandle(params) {//新开页面-预览文件let url = params.downLinkUrl,fileName = params.fileName;const fileSuffix = fileName.substring(fileName.lastIndexOf("."));if (isPreviewFileType.includes(fileSuffix)) {const previewUrl = `http://dcsapi.com/?k=57170800621178060806081&url=${encodeURIComponent(url)}&watermark=千里马招标网`;window.open(previewUrl);} else {alert("该文件暂不支持预览~");}
}


http://www.ppmy.cn/news/1556875.html

相关文章

apache应用(客户机地址限制、用户授权限制、日志分割、AWStats日志分析)

目录 一、 客户机地址限制 二、 用户授权限制 三、 日志分割 使用rotatelogs分割工具 使用第三方工具cronolog 四、 AWStats日志分析 具体的apache软件安装可以阅读我之前的文章apache安装https://blog.csdn.net/m0_68472908/article/details/139348739?spm1001.2014.300…

matlab的一些时间函数【转】

看到就记下来,感觉挺好玩的。 原文:MATLAB-一些时间函数 - 简书 (jianshu.com) 注明出处了,原文是公开的,应该不算侵权。若有侵权请告知删除谢谢。

【Prompt Engineering】2.迭代优化

一、环境配置 配置使用zhipuai API 的环境。安装 zhipuai 库,并设置 API_KEY。封装 zhipuai 接口的函数,参数为 Prompt,返回对应结果。 from zhipuai import ZhipuAI zhipu_client ZhipuAI(api_key"") # 一个封装 OpenAI 接口…

JetBrains IDEA 2024 在使用 lombok 后构建失败/编译失败解决方案

问题是啥 不知道咋的,在更新了 IDEA 2024.3 之后莫名其妙地就出现了构建失败的情况,控制台里面所有和 lombok 有关的都报红了。情况截图展示了。 研究过程 问 AI?那绝对得不到解答的。问搜索引擎?一水 AI 答案,或者…

Laya ios接入goole广告,搭建环境 1

只能说麻烦的一批,会了不难,难在不会 没有mac机,用的mac本,提示----》可能需要你升级macbook系统版本, 1、安装cocoapods sudo gem install cocoapods -V 加上-V,能查看安装进度,记住大写的…

Node.js之 node-opcua 使用

Node-OPCUA 是一个专为 Node.js 和浏览器环境设计的 OPC UA 协议栈,使用 TypeScript 编写,提供了实现 OPC UA 协议的所有必要功能。以下是 Node-OPCUA 的一些主要特点和使用方法: Node-OPCUA 特点 完整的 OPC UA 协议栈:Node-OPC…

网安入门|前端基础之Html_css基础

Web1.0、Web2.0 和 Web3.0 是互联网发展的三个主要阶段,每个阶段有其独特的特征和技术进步。以下是对它们的介绍: Web 1.0(静态互联网) 时间:1990年代初到2000年代初 特点: 静态内容:网页主要…

小程序-基于java+SSM+Vue的微信阅读小程序设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…