小程序云开发入门——关于云存储那些事(3)

news/2024/7/20 2:13:10 标签: 小程序, 云开发, javascript

上传word和pdf等文件到云存储

 

 1.设置按钮和点击事件

<button bindtap="chooseFile">选择文件</button>

2.第一步选择文件

javascript">  //上传文件第一步:选择文件
    chooseFile() {
        wx.chooseMessageFile({
            count: 1,
            type: 'all',
        }).then(res=>{
                console.log(res)
                // tempFilePath可以作为img标签的src属性显示图片
                const tempFilePaths = res.tempFiles
                let temFile=res.tempFiles[0]
                this.uploadFile(temFile.name,temFile.path)
        }).catch(err=>{
            console.error("选择文件失败",err)
        })
    }

3.第二步,上传至云存储

javascript"> //上传文件第二步,通过uploadFile上传选中的文件
    uploadFile(name,tempUrl) {
        wx.cloud.uploadFile({
            cloudPath:name,
            filePath:tempUrl
        }).then(res=>{
            console.log("上传文件成功",res)
    }).catch(err=>{
        console.error("上传文件失败",err)
    })

4.可成功上传word、pdf、excel文件

下载文件 

1.编辑输入框和下载点击按钮

请输入下载链接
<input bindinput="getContent"></input>
<button bindtap="downloadFile">点击下载</button>

2.获取输入框中的用户下载链接,并设置全局变量fileID

javascript"> //获取用户输入的下载链接
    getContent(e) {
        this.setData({
            fileID: e.detail.value
        })
    }

 3.下载文件代码

javascript"> //下载文件
    downloadFile() {
        let downloadfileID = this.data.fileID
        console.log('下载链接', downloadfileID)
        if (downloadfileID != null && downloadfileID.length > 0) {
            wx.cloud.downloadFile({
                fileID: downloadfileID
            }).then(res => {
                console.log('下载成功', res)
            }).catch(err => {
                console.error('下载失败', err)
            })
        } else {
            wx.showToast({
                icon: "none",
                title: '下载链接为空了',
            })
        }

    }

4.下载成功

打开并查看下载好的文件 

 将打开的代码添加到下载文件成功的方法中

javascript">wx.openDocument({
                    filePath: res.tempFilePath,
                    success: function (res) {
                        console.log('打开文档成功')
                    }
                })

  可以在word中打开

 改进从电脑中选择文件后直接打开

javascript">//上传文件第二步,通过uploadFile上传选中的文件
    uploadFile(name, tempUrl) {
        wx.cloud.uploadFile({//上传文件
            cloudPath: name,
            filePath: tempUrl
        }).then(res => {
            console.log("上传文件成功", res)
            wx.cloud.downloadFile({//上传成功后下载文件
                fileID: res.fileID
            }).then(res => {
                console.log('下载成功', res)
                wx.openDocument({//下载成功以后打开文件
                    filePath: res.tempFilePath,
                    success: function (res) {
                        console.log('打开文档成功')
                    }
                })
            }).catch(err => {
                console.error('下载失败', err)
            })
        }).catch(err => {
            console.error("上传文件失败", err)
        })
    }

改进后打开的pdf文件

 手机真机调试

选择聊天记录里的任意一个文件,这里选择的是一个pdf

选择成功后自动打开 

 

 

调试内容显示

 复制链接后打开效果

 

 


http://www.niftyadmin.cn/n/1243411.html

相关文章

小程序云开发入门——列表下拉刷新

1.准备工作&#xff1a; 新建shuaxin页面&#xff0c;并将之前编写过的有图片的商品列表代码搬过来。&#xff08;简单回顾一下&#xff09; shuaxin.wxml <view wx:for"{{list}}"> <!--增加点击事件&#xff0c;跳转详情页--><view class"it…

解决Windows10系统,Android Studio中 按Ctrl + Alt + 方向键 与系统屏幕翻转快捷键冲突问题

一、问题描述 在Android Studio和PyCharm等软件中&#xff0c;都有类似的快捷键 Back 快捷键是 Ctrl Alt 向左按钮 Forward 来看看是 Ctrl Alt 向右按钮 有时候编辑代码过程中&#xff0c;想Back或者Forward来查看代码&#xff0c;发现快捷键居然和系统旋转屏幕的快捷键…

小程序云开发入门——分页加载数据(1)

目录 目录 修改数据表的权限并请求数据 通过按钮点击展示分页效果 把请求到的数据展示在页面上 在下拉触底的时候做分页加载 设置数据加载中和加载完毕的提示 完整代码展示&#xff1a; 修改数据表的权限并请求数据 1.准备工作&#xff1a;新建fenye页面&#xff0c;并导入…

【转载】Android功耗改进

原文地址&#xff1a;《Android功耗改进》 by 保罗的酒吧 最近几年中&#xff0c;Google在一直极力的改进Android系统的续航能力。在本文中&#xff0c;我们将看到Andrdoi自5.0到8.0这几个版本中对于功耗方面的改进。 前言 移动设备的续航时间无疑是所有用户都非常在意的。我们…

小程序云开发入门——分页加载数据(2)

用云函数做分页加载 1.新建一个fenyeyun的页面和一个fenye的云函数 2.wxml和wxss与上一节小程序的分页加载代码一样 <view wx:for"{{list}}"><view class"num">{{item.num}}</view> </view> .num{height: 50px;background-colo…

【我的Android进阶之旅】解决 Exported receiver/service does not require permission

一、问题描述 最近切换到一个新的项目中,查看代码的时候,发现AndroidManifest.xml清单文件有一堆的警告 Service警告 <serviceandroid:name=".oyp.CSDNService"android:enabled="true"

Day1.MarkDown学习

MarkDown学习 标题 一级标题&#xff1a;# 空格 内容 二级标题&#xff1a;# # 空格 内容 三级标题&#xff1a;### 空格 内容 四级标题&#xff1a;#### 空格 内容 五级标题&#xff1a;##### 空格 内容 六级标题&#xff1a;###### 空格 内容 &#xff08;最高…

【git学习】GitLab如何创建Merge Request Templates?

一、需求描述 通常在GitLab中使用提交request或者加issue的过程中&#xff0c;都会遇到每次填写相似内容的情况&#xff0c;而且一般团队为了规范&#xff0c;发起Merge Request都需要写固定的格式。 如下所示&#xff0c;GitLab中有没有提供可以解决这一个问题的方案呢&…