飞书小程序调用图片预览功能(图片+pdf)

使用飞书小程序提供的API预览功能只能预览普通图片
如果想实现打开pdf需要调用下载和打开文件两个方法

html

<view tt:for="{{item.picList}}" tt:for-item="imgItem" class="imgItem">
	<image class="imgValue" src="{{imgItem}}" data-img="{{imgItem}}" data-picList="{{item.picList}}" catchtap="_imagePreview"/>
</view>

js

// 预览
    _imagePreview(ev) {
        console.log('==_imagePreview:', ev.currentTarget.dataset)
        let img = ev.currentTarget.dataset.img;
        let picList = ev.currentTarget.dataset.picList;

        // 判断是不是pdf
        const is_pdf = img.indexOf('.pdf') !== -1
        console.log('==>is_pdf', is_pdf, img, 'encodeURI:', encodeURI(img))

        is_pdf
        // 打开文档 针对pdf 先下载到本地
        ? tt.downloadFile({
          // 示例 url
          url: encodeURI(img),
          success(res) {
            console.log('==downloadFile res:', res)
            // 拿到本地地址后打开pdf
            const filePath = res.tempFilePath;
            tt.openDocument({
              filePath: filePath,
              success(res1) {
                console.log('打开文档成功', res1);
              }
            });
          }
        })
        // 图片预览
        : tt.previewImage({
          current: img,
          urls: picList.filter(imgItem => imgItem.indexOf('.pdf') === -1),
          success: res => {
            console.log(JSON.stringify(res));
          },
          fail: res => {
            this._showToast(`预览失败: ${res.errMsg}`);
            console.log('预览失败', res);
          }
        });
      },
      _showToast(msg, icon) {
        tt.showToast({
          title: msg,
          icon: icon || 'error',
          duration: 2000
        });
        console.error(msg);
      },

以下是飞书开发文档入口,可以通过右上角搜索关键字功能搜索对应的API
http://open.work.sany.com.cn/document/uYjL24iN/ucDMx4yNwEjL3ATM

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
npm小程序图片预览是指在小程序中使用npm包来实现对图片进行预览功能。通常情况下,小程序中的图片是使用`<image>`标签来展示的,但是只能显示图片的缩略图,并不能提供预览大图的功能。而通过使用npm包,可以方便地实现图片预览功能。 首先,我们需要在小程序项目中安装所需的npm包,可以通过在`project.config.json`文件中配置`useNpm`字段来启用npm。然后在命令行中运行`npm install <packageName>`来安装相应的npm包。 安装完npm包后,我们可以在小程序的页面文件中引入所需的npm包。通常情况下,我们会在页面的`js`文件中使用`require()`函数来引入npm包,并创建相应的实例。 接下来,在小程序的页面文件中,我们可以使用npm包提供的API来实现图片预览功能。具体的实现方式会根据所使用的npm包而有所不同。一般来说,我们可以通过调用相应的函数或方法来实现图片预览。例如,可以在点击缩略图时,调用npm包提供的函数来预览大图,并在预览界面中提供放大、缩小、关闭等操作。 在实现图片预览时,我们还可以对预览界面进行定制化的设计。可以设置预览界面的背景色、字体颜色等样式属性,以便更好地符合小程序的整体风格。 总结来说,通过使用npm小程序图片预览的方式,我们可以方便地实现对图片预览功能,并可以根据实际需求进行定制化的设计。这样,用户在浏览小程序时,可以更好地查看和欣赏图片

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值