如何利用unicloud阿里云云函数实现文件包括图片或文件上传,unicloud云函数写法一览

embedded/2024/10/21 13:40:54/

这里以一个单文件上传为例子,多图多文件同理,循环单图处理逻辑即可。 

背景

 前端vue上传图片文件(base64格式)到服务器,并获取返回的服务器资源存储路径

传入参数

{

 ”queryStringParameters“:{

      "file":"单图文件临时src的base64编码内容"

     }

}

 注意:请求体问题!

在云函数中,请求体(body)有时会出现在`queryStringParameters`中,而不是在`body`中,可能是因为请求的 Content-Type 类型不被云函数所支持,或者在请求的时候没有正确地设置请求头。

在云函数中,一般情况下,如果请求是一个 HTTP POST 请求且 Content-Type 是 application/json,那么请求体应该出现在`body`中。但如果请求的 Content-Type 不是 application/json,云函数可能会将请求体解析为字符串并放在`queryStringParameters`中,而不是解析为 JSON 对象并放在`body`中。
 

完整js代码

javascript">'use strict';
exports.main = async (event, context) => {console.log(event)const db = uniCloud.database();try {const file = event.queryStringParameters.file; // 从前端传来的图片文件对象// 上传图片到云存储const res = await uniCloud.uploadFile({cloudPath: `images/${Date.now()}_${Math.floor(Math.random() * 10000)}.png`, // 上传到云存储的路径,可以自定义fileContent: Buffer.from(file.split(',')[1], 'base64') // 将 base64 格式的图片内容转换为 Buffer 对象});// 将图片地址返回给前端return {event:event,fileUrl: res.fileID // 返回上传成功后的文件地址};} catch (error) {return {event:event,code: 500,message: '上传失败:' + error.message};}
};

注意:uniCloud.uploadFile

uniCloud.uploadFile 是 uniCloud 提供的用于将文件上传到云存储的一个方法。uniCloud 是 DCloud 提供的云开发平台,主要面向前端开发者。通过 uniCloud,开发者可以在云端处理数据库、文件存储等操作,而不需要自己搭建和维护服务器。

如果这篇文章对您有所帮助的话,点个小赞赞吧🌹🌹 


http://www.ppmy.cn/embedded/46731.html

相关文章

Centos7.6使用docker部署elasticsearch6.8.6 + kibana6.8.6 + ik分词器

Centos7.6使用docker部署elasticsearch6.8.6 kibana6.8.6 ik分词器 创建单个节点文件夹,mkdir /home/es/single single目录下包括config data plugins 三个文件夹 在single目录下创建config文件夹,再创建elasticsearch.yml写入配置 echo “network.…

三十七、openlayers官网示例Earthquakes Heatmap解析——在地图上加载热力图

官网demo地址: Earthquakes Heatmap 这篇主要介绍了热力图HeatmapLayer HeatmapLayer 是一个用于在地图上显示热力图的图层类型,通常用于表示地理数据中的密度或强度。例如,它可以用来显示地震、人口密度或其他空间数据的热点区域。在这个示…

大归纳!!教你使用<string.h>的字符函数与字符串函数!!☑

这篇博客为你归纳了所有的字符函数和最常用的字符串函数,以及对应的模拟实现!!你可以直接循着目录跳到你需要的段落哦!!😍 目录 字符函数 字符分类 字符判断函数 islower——判断小写字母 isupper——…

从头搭hadoop集群--分布式hadoop集群搭建

模板虚拟机安装配置见博文:https://blog.csdn.net/weixin_66158110/article/details/139236148 配置文件信息如下:https://pan.baidu.com/s/1074eD5aNVugEPcjwVvi9jA?pwdl1xq(提取码:l1xq) hadoop版本:h…

针对配置maven(pom.xml依赖下载缓慢)的解决方法

一、重新配置setting.xml文件内容 找到maven安装目录,点击conf开始配置Maven的Settings.xml文件(用于配置,从远程镜像下载到本地的jar存放位置,以及远程镜像仓库的地址): 可直接copy下面的代码,…

MAC帧

基本问题 数据链路层的协议有很多,但是都有三个基本问题:封装成帧,透明传输和差错检测。 封装成帧 封装成帧(Framing)就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。帧是数据链路层的传送…

【Linux】GNU编译器基础-GDB

GDB调试:gdb调试的是可执行文件,在编译时加入-g ,告诉编译器在编译时加入调试信息,这样gdb才能调试这个被编译的文件,同时使用-Wall显示所有的警告信息。 g -g test.cpp -o test.out -Wall GDB命令格式: 命令功能实例…

word自带公式编辑器技巧

1.实现多行公式换行且对齐 1.1 准备阶段(默认Unicode模式) 进入公式编辑模式,输入\eqarray,紧接着按下空格键输入空格,如下 1.2 实现换行和对齐 将要编辑的公式输入到括号内 &:实现位置对齐 &…