专业小程序设计开发——助力新电商新零售
电话+V:159999-78052,欢迎咨询云函数如何上传到微信小程序,[小程序设计与开发],[小程序投流与推广],[小程序后台搭建],[小程序整套源码打包],[为个体及小微企业助力],[电商新零售模式],[小程序运营推广及维护]
一、微信答题小程序云开发--实现云函数上传题目图片base64功能
需求功能
在微信答题小程序云开发中实现,支持上传题目图片至云存储并以Base64编码,并可在小程序中显示。
云函数开发遇到的问题
普通用户在微信云开发环境内无权限写入云存储文件,使用wx.cloud.uploadFile不可行。
云函数作为后台服务端具备管理员权限,可调用云函数上传文件以解决权限问题。
官方文档中云函数使用示例可能不够直观,_dirname代表文件根目录,并非直接移动文件,而是用于指定云存储空间路径。
解决方案
将本地文件编码为Base64格式,再通过云函数上传至云存储空间。使用微信小程序文档中的编码函数实现图片Base64编码。
支持单张或多张图片上传,通过遍历操作实现。
上传至云存储过程
使用node将Base64编码转换为Buffer对象。
上传后云存储查看
成功上传至云存储,通过云函数操作可实现图片的存储与检索。
答题小程序显示效果
在答题小程序中,通过调用云函数获取存储的Base64编码图片,实现题目图片的显示。
云存储文件名称编码方式
通过使用图片上传时间与上传顺序进行编码,确保文件名唯一性,避免重名问题。
时间编码示例
二、hbuilder配置不了微信小程序云函数
hbuilder配置不了微信小程序云函数解决方式如下:
1、在配置文件里加入以下代码cloudfunctionRoot,cloud_functions。
2、右键新建node.js文件,写入自己的代码。
3、打开cmd.以管理员身份进入到自己新建的node.js文件下。
4、输入一下代码npminstallsavewxserversdk。
微信小程序中使用云函数进行开发
原创2021-07-20 10:09·程序你好
微信小程序的云函数是一段运行在云端(服务器端)的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。在物理设计上,一个云函数可由多个文件组成,占用一定量的CPU内存等计算资源,各云函数完全独立;可分别部署在不同的地区。小程序内提供了专门用于云函数调用的API。开发者可以在云函数内使用wx-server-sdk提供的getWXContext方法获取到每次调用的上下文(appid、openid等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。只需编写函数代码并部署到云端即可在小程序端调用,同时云函数之间也可互相调用。一个云函数的写法与一个在本地定义的JavaScript方法无异,代码运行在云端Node.js中。当云函数被小程序端调用时,定义的代码会被放在Node.js运行环境中执行。1、第一步在项目根目录找到project.config.json文件,新增cloudfunctionRoot字段,指定本地已存在的目录作为云函数的本地根目录。"cloudfunctionTemplateRoot":"cloudfunctionTemplate","cloudfunctionRoot":"./functions/",设置完成之后,查看资源管理器,指定的目录已经变成云函数的目录。yydc是我项目云函数环境的名字。2、选中云函数目录,右键菜单点击“新建Node.js云函数”,输入想创建的云函数的名字,自动创建云函数目录。系统会同时创建config.json,index.js,package.json这三个文件。其中index.js是云函数实体文件。我在测试过程中发现,有wx-server-sdk创建失败的情况,修改package.json中依赖设置为:latest即可解决。"dependencies":{"wx-server-sdk":"latest"}3、编辑云函数文件,写个简单HelloWorld//云函数入口文件constcloud=require('wx-server-sdk')cloud.init()//云函数入口函数exports.main=async(event,context)=>{constwxContext=cloud.getWXContext()return{say:"helloworld!"}/*return{event,openid:wxContext.OPENID,appid:wxContext.APPID,unionid:wxContext.UNIONID,}*/}
4、上传云函数选中我们写好的云函数目录,右键点击菜单“上传并部署:云端安装依赖(不上传node_modules)”,上传我们写好的云函数到云端。注意:刚开始我忘了上传,导致云函数访问不正常,一直执行默认生成的代码。5、测试云函数打开云开发控制台,选中左上方“云函数”按钮,可以查看我们定义的所有云函数。点击右侧“云端测试”链接在右侧窗口输入云函数的输入参数(以json串的形式),点击下方“运行测试”按钮,运行云函数进行测试。运行测试完成后下方会出现云函数执行情况可以取日志列表,查看调用日志信息。
6、小程序中使用云函数在小程序中编写调用代码callCloldFunction:function(){wx.cloud.callFunction({//云函数名称name:'loadAdd',//传给云函数的参数data:{word:'this'},success:function(res){console.log(res.result)//3},fail:console.error})},调用并返回:最后说下费用问题,云函数本身提供一些免费调用次数,超过是要收费的。而且在云函数中访问外部资源是没有免费额度的。最重要的一点“后付费”,使用的千万注意,千万不要因为访问量过大造成巨额损失。其实,个人总体感觉这个云函数有点鸡肋,不如自己弄个服务器写后台,折腾云函数各种限制,又收费,实在没有使用必要。【WINDRISES MINIPROGRAM PROMOTION】尊享直接对接老板
电话+V: 159999-78052
专注于小程序推广配套流程服务方案。为企业及个人客户提供了高性价比的运营方案,解决小微企业和个体拓展客户的问题