当前位置: 首页 > 后端技术 > Node.js

简单几步,用云函数上传文件至静态网站托管

时间:2023-04-04 00:53:02 Node.js

通过几个简单的步骤,将文件上传到具有云功能的静态网站托管CDN支持多个边缘网点。本文将使用云开发Node.js管理端SDK演示,只需简单几步即可将云端文件上传到静态网站托管功能。准备打造云开发按需付费环境;在现收现付的环境中启用静态网站托管;查询腾讯云访问密钥。Step1.获取访问密钥:secretId和secretKey打开腾讯云控制台,在右上角头像位置的下拉菜单中找到访问管理,点击进入。在左侧菜单栏选择AccessKey-APIKeyManagement,点击NewKey。点击“显示”,根据提示获取密钥。2、创建云函数打开云开发CloudBase控制台,选择按量付费环境,在左侧菜单栏选择云函数。点击新建云函数,然后根据提示信息填写云函数配置信息,完成创建。点击刚刚创建的云函数进入编辑页面,点击“函数代码”。将测试代码复制到新建的云函数中,修改envId(云开发环境id)、secretId、secretKey(获取方法见上一步)。constCloudBase=require('@cloudbase/manager-node')constfs=require('fs')const{hosting}=newCloudBase({secretId:'你的SecretId',//腾讯云API密钥SecretIdhttps://console.cloud.tencent.com/cam/capisecretKey:'YourSecretKey',//腾讯云API密钥SecretKeyhttps://console.cloud.tencent.com/cam/capienvId:'YourenvId'//云开发环境ID,可以从腾讯云开发控制台获取https://console.cloud.tencent.com/tcb/env/index})exports.main=async(event,context)=>{//写文件到云端函数临时目录constcontent='测试内容!'fs.writeFile('/tmp/test.txt',content,(err)=>{if(err){returnconsole.log(err);}console.log("文件保存成功!");})letfileCount=0//上传文件awaithosting.uploadFiles({files:[{localPath:'/tmp/test.txt',cloudPath:'hosting/test_data/data.txt'}],ignore:['**/ignore.*'],onFileFinish:()=>{fileCount++}})console.log(fileCount)//1returnfileCount}andpackage.jsonfile:{"name":"tcb_scf2hosting","version":"1.0.0","description":"使用云函数上传文件到静态网站托管","main":"index.js","scripts":{"test":"echo\"Error:notestspecified\"&&exit1"},"dependencies":{"@cloudbase/manager-node":"latest"},"author":"XiaoLin","license":"ISC"}3.保存并安装依赖编辑完成后点击左下角的保存并安装依赖按钮,等待右上角出现云功能更新成功提示。4.测试打开右上角的测试按钮,点击运行测试,出现如下结果表示测试成功。打开运营云环境的静态网站托管,可以看到刚刚上传的资源信息。结语本文通过云开发Node.js管理端SDK和使用云函数临时读写文件的tmp目录,实现了使用云函数上传文件到静态网站托管。除了云功能,云开发管理器-nodesdk还支持开发者通过接口创建、管理和配置云开发提供的数据库、文件存储等资源。欢迎体验。详见文档(点击文末可直接阅读原文):https://docs.cloudbase.net/api-reference/manager/node/introduction.html产品介绍云开发(腾讯CloudBase,TCB)是腾讯云提供的云原生集成开发环境和工具平台,为开发者提供高可用、自动弹性伸缩的后端云服务,包括计算、存储、托管等Serverless能力,可用于云端各种终端应用(小程序、公众号、Web应用、Flutter客户端等)的集成开发,帮助开发者统一搭建和管理后端服务和云资源,避免繁琐的服务器搭建和运维在应用开发过程中,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。开放云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite产品文档:https://cloud.tencent.com/product/tcb?from=12763技术文档:https://cloudbase.net?from=10004技术交流加Q群:601134960关注微信获取最新资讯公众号【腾讯云开发】