uniapp判断是图片还是pdf,如果是pdf则进行下载预览

一、附件中有图片也有pdf,需要进行预览,图片可直接预览,而pdf是下载后再预览

二、主要代码

javascript 复制代码
<view class="fj-row" v-for="(item,index) in formDetail.attachmentRespVOS" :key="index">
		<view class="drow" @click="preViewImg2(item)">			
		    <view class="fjtitle">{{item.title}}</view>
		</view>
		<view class="fj-line"></view>
</view>
javascript 复制代码
//预览图片
			preViewImg2(row){			
				var imgArr = [];
				//给整个数组的文件列表都加上api
				for (var i = 0; i < this.formDetail.attachmentRespVOS.length; i++) {
					imgArr[i] = config.imgBaseUrl + this.formDetail.attachmentRespVOS[i].fileUrl
				}
				var nowUrl=config.imgBaseUrl+row.fileUrl;//当前的预览路径
				var arr1 = nowUrl.split(".");
				var len1=arr1.length-1;
				var type1=arr1[len1];
				if(type1=='pdf'){
					this.Download(nowUrl)
				}else{
					uni.previewImage({
						current: nowUrl,
						urls: imgArr
					})
				}
			},
javascript 复制代码
//下载
			Download(urls) {
				uni.downloadFile({
					url: urls,//下载地址接口返回
					success: (data) => {
						if (data.statusCode === 200) {
							//文件保存到本地
							uni.saveFile({
								tempFilePath: data.tempFilePath, //临时路径
								success: function(res) {
									uni.showToast({
										icon:'loading',
										mask: true,
										title: '正在下载中...', //保存路径
										duration: 2000,
									});
									setTimeout(() => {
										//打开文档查看
										uni.openDocument({
											filePath: res.savedFilePath,
											success: function(res) {
												// console.log('打开文档成功');
											}
										});
									}, 2000)
								}
							});
						}
					},
					fail: (err) => {
						console.log(err);
						uni.showToast({
							icon: 'none',
							mask: true,
							title: '失败请重新下载',
						});
					},
				});
			},
相关推荐
paopaokaka_luck2 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
栀椩2 小时前
Electron 内嵌页面跨域问题(CORS/PNA)解决全记录
前端·javascript·electron
SEO_juper2 小时前
Chrome 扩展一键查看当前页面 SEO 信息:不用切页面,点一下全出来
前端·javascript·chrome
Highcharts.js2 小时前
CSUN 2026|Highcharts无障碍数据与AI分享
javascript·人工智能·数据分析·highcharts·图表开发
系统集成-鹰翔2 小时前
ERP推单数据库怎么备份:SQLite WAL模式下只复制db文件为什么可能漏任务
javascript·数据库·经验分享·后端
Nymph_Zhu3 小时前
pdf转换markdown预览及内容互相点击定位
前端·pdf·vue3·markdown·element-plus
小大宇3 小时前
Vue知识点-ElementPlus-05 输入框
前端·javascript·vue.js
外贸GEO优化3 小时前
外贸独立站的可抓取性:JS 渲染、懒加载与无限滚动到底影响什么
开发语言·javascript·ecmascript
web打印社区4 小时前
Lodop在Edge和双核浏览器-先分清内核
前端·javascript·edge·pdf·ecmascript·html5
系统集成-鹰翔4 小时前
ERP对接升级提示数据库迁移失败:SQLite逐版本事务到底回滚到哪一步
javascript·数据库·经验分享·后端