当前位置:   article > 正文

Unicloud云函数实现HTTP上传文件_unicloud buffer

unicloud buffer

登陆Unicloud后台 uniCloud控制台

购买阿里云服务空间(腾讯云也支持)

实现的功能如下,支持外链直接下载:

 开始操作:

安装 HBuilder (略)

文件-新建-项目-uni-app,按图上设置创建

在 uniCloud上面右键,关联云服务空间或项目,关联你的 阿里云服务空间

 

 

在cloudfunctions上面右键,新建云函数/云对象

 

 选择云函数,默认模板即可,此时如果需要安装扩展或模块会有提示,按提示操作即可

 然后进入云函数目录 index.js 编写代码  

云函数官方文档 概述 | uni-app官网

 

 示例代码:

  1. 'use strict';
  2. exports.main = async (event,context) => {
  3. //unicloud的上传文件的云函数
  4. let result = await uniCloud.uploadFile({
  5. //保存到云端的文件名
  6. cloudPath: Date.now() + ".jpg",
  7. //base64转buffer(阿里云支持buffer和绝对路径)
  8. //event为请求传入的base64数据(不包含文件类型标识)
  9. fileContent: Buffer.from(event.body,'base64'),
  10. success(res){
  11. //阿里云直接返回文件ID就是下载地址
  12. return result.fileID
  13. },
  14. fail(err) {
  15. reject(new Error(err.errMsg))
  16. }
  17. });
  18. return result;//返回上传文件云函数的返回值
  19. let fileID = result.fileID; //result为json,直接取值
  20. //unicloud的获取文件信息的云函数(此API仅支持阿里云)
  21. let urlResult = await uniCloud.getFileInfo({
  22. fileList: [fileID]
  23. });
  24. return{
  25. urlResult,
  26. fileID
  27. }
  28. };

 代码编写完成后,在你的云函数目录上面右键,上传部署

 

上传完成后,在后台云函数位置可以看到你上传的云函数,点击详情可以配置外网url,我们就是通过请求这个url实现上传文件的 

 点击云函数URL化下面的编辑按钮。在默认域名后面加上你指定的path,注意以 “/”开头

 保存完毕后, 我们就可以通过请求这个URL并传入对应参数上传文件到阿里云了

 

打开图片链接和后台均已成功

 这样我们就搭建好了一个支持API的简易文件上传系统。其他API不再赘述。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/729292
推荐阅读
  

闽ICP备14008679号