钉钉小程序上传附件(PDF等非媒体文件)至第三方文件服务器(企业内部应用)

1.创建钉盘空间并获取spaceId
(1).创建钉盘空间

进入钉钉选择“云盘”,点击“团队文件”然后新建一个文件夹,给当前钉钉团队所有用户(或者能够使用该企业内部应用小程序的用户)分配“可管理”权限,该权限包括:上传、下载、编辑、删除。后续在钉钉小程序上传附件过程中会同时用到该空间附件的:上传、下载、删除权限。 图文示例

(2).获取钉盘spaceId

文档地址

返回值
{
  "spaces" : [ {
    "spaceId" : "123456789",
    "spaceName" : "张三的共享文件夹",
    "spaceType" : "org",
    "quota" : 2147483648,
    "usedQuota" : 640445953,
    "permissionMode" : "acl",
    "createTime" : "2016-02-28T10:47:08Z",
    "modifyTime" : "2021-03-29T14:20:36Z"
  } ],
  "nextToken" : "fekaf"
}
2.小程序端调用dd.uploadAttachmentToDingTalk

该API会将文件直接上传至你所指定的钉盘空间中,所以必须分配权限,否则会出现类似没有权限的报错。
文档地址

示例代码
dd.uploadAttachmentToDingTalk({
    image:{multiple:true,compress:false,max:9,spaceId: "12345"},
    space:{spaceId:"12345",isCopy:1 , max:9},
    file: {spaceId:"12345",max:1},
    types:["photo","camera","file","space"],//PC端仅支持["photo","file","space"]
    success: (res) => {
       /*
       {
          type:'', // 用户选择了哪种文件类型 ,image(图片)、file(手机文件)、space(钉盘文件)
          data: [
             {
               spaceId: "232323",
               fileId: "DzzzzzzNqZY",
               fileName: "审批流程.docx",
               fileSize: 1024,
               fileType: "docx"
            }
          ]
       }
        */
    },
    fail: (err) =>{
        dd.alert({
            content:JSON.stringify(err)
        })
    }
})
3.服务端处理下载以及上传第三方服务器的操作
(1)服务端下载文件
①.获取文件下载信息

文档地址

返回值
{
  "downloadInfo" : {
    "resourceUrl" : "https://xxx.xxxx",
    "expirationSeconds" : 900,
    "headers" : {
      "Authoration" : "xxx",
      "Date" : "xxx"
    }
  }
}
②.下载文件

文档地址

③.删除钉盘空间文件

此操作在服务端将文件下载完成之后,目的是清空钉盘空间,避免占用空间。
文档地址

(2).服务端将从钉盘下载下来的文件上传至第三方文件服务器并返回给小程序客户端进行查看.
4.总结

在钉钉小程序端,如果需要上传文件至第三方文件服务器,必须借助“钉盘”这个中转站 ,不可直接从小程序调用API发送至第三方文件服务器。微信小程序的步骤就更方便一点,可以调用wx.chooseMessageFile从客户端会话选择文件上传,但微信小程序仅支持从“客户端会话选择文件”,而钉钉小程序则可以选择手机中文件及钉盘中文件。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 微信小程序是腾讯公司基于微信平台推出的一种轻量级应用形态,它无需用户下载安装即可在微信内直接使用。自2017年正式上线以来,小程序凭借其便捷性、易获取性和出色的用户体验迅速获得市场认可,并成为连接线上线下服务的重要桥梁。 小程序的核心特点包括: 零安装:用户只需通过微信扫一扫或搜索功能,即可打开和使用小程序,大大降低了用户的使用门槛和手机存储空间压力。 速度快:加载速度相较于传统的HTML5网页更快,依托于微信强大的基础设施,能够实现近乎原生应用的流畅体验。 跨平台兼容:开发者一次开发,即可在多种终端设备上运行,免除了复杂的适配工作,大大提高了开发效率。 社交属性强:小程序可以无缝嵌入微信生态,支持分享至聊天窗口、朋友圈等社交场景,有利于用户间的传播和裂变增长。 丰富接口能力:提供丰富的API接口,可调用微信支付、位置服务、用户身份识别等多种功能,方便企业进行商业服务的集成与拓展。 目前,微信小程序已经覆盖了电商购物、生活服务、娱乐休闲、教育学习、工具助手等多个领域,为数以亿计的用户提供便捷的服务入口,也为众多商家和开发者提供了新的商业模式和创业机会。随着技术的不断升级和完善,小程序已成为现代移动互联网生态中不可或缺的一部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值