如何通过工作流或API上传附件


向工作表中写入文件或图片,可以通过工作流或API实现。工作流仅支持URL上传,API支持URL和Base64两种方式。

一、通过工作流上传附件

通过Webhook触发工作流的方式,接收外部数据新增到工作表,或更新工作表数据,同时可以上传附件。

在工作流的新增记录节点或更新记录节点中,附件字段传入的内容,必须是1个或多个下载文件地址组成的Json字符串。

  • 上传一个文件时,内容可以是任 一 一种格式:url1["url1"] ,例如: https://help.mingdao.com/logo.png["https://help.mingdao.com/logo.png"]

  • 上传多个文件时,内容必须是这种格式:["url1","url2"],例如: ["https://help.mingdao.com/logo.png","https://help.mingdao.com/img/introduction.mp4"] ,更多文件依次类推。

工作流配置示例

通过新增记录节点或更新记录节点上传附件,附件字段选择文本字段。

例如下面的工作表,我们把文件的下载链接先写入到一个文本字段[文件下载链接]中。然后通过工作流,自动下载并保存到[附件]字段中。

1、工作流触发节点配置

2、将附件下载链接写入到附件字段中

3、测试

在文件下载链接写入到字段中,写入符合格式标准的内容。直接复制下面内容即可(包括[])。

["https://help.mingdao.com/logo.png","https://help.mingdao.com/img/introduction.mp4"]

二、通过API上传文件

参考下图的接口文档

参数介绍

 {
     controlId: //附件控件的id
     "value": //外部文件链接,多个文件用“,”逗号隔开
     "editType":0 //数据更新类型, 0覆盖已有文件 ,1增加当前文件(默认0:覆盖,新建记录可不传该参数,更新时必填)
     "valueType":1//上传文件的方式,1 = 外部文件链接,2= 文件流字节编码base64格式字符串 (默认 1 ,为1时外部链接放在value参数中,为2时文件流base64信息放在下方的controlFiles参数中 ) 

     "controlFiles":[{ 
          "baseFile":"QABAAQQQAAG9nCwAAAA==", //base64字符串(文件流字节编码)
          "fileName":"带后缀的文件名.xlsx" //文件名称,带后缀
      }]
    }

URL方式示例

  • 如果上传1个文件,给附件字段的赋值内容是: "url1" ,例如:"https://help.mingdao.com/logo.png"
  • 如果是两个文件,则内容格式是 : "url1,url2",例如,"https://help.mingdao.com/logo.png,https://help.mingdao.com/img/introduction.mp4",更多文件依次类推。
{
  "appKey": "0a265**3a155de01",
  "sign": "ZmFkZjExMmNlY***NDA4ZjI5N2YxZDEwMjlkZWNkOTRkNTg5NjBkYWQzOTYxYjgwMWM4ZDg5NzYwOGMxZjZmOA==",
  "worksheetId": "61111f2eb94**ac37d7d6e",
  "controls": [
    {
      "controlId": "61111f2eb94aac37d7d6f",
      "value": "测试"
    },
    {
        "controlId":"61111f2eb10caac37d7d71",
        "value":"https://help.mingdao.com/logo.png",
        "editType":0,
        "valueType":1//设置1
    }
  ]
}

Base64文件流方式示例

{
  "appKey": "0a265**3a155de01",
  "sign": "ZmFkZjExMmNlY***NDA4ZjI5N2YxZDEwMjlkZWNkOTRkNTg5NjBkYWQzOTYxYjgwMWM4ZDg5NzYwOGMxZjZmOA==",
  "worksheetId": "61111f2eb94**ac37d7d6e",
  "controls": [
    {
      "controlId": "61111f2eb94aac37d7d6f",
      "value": "测试"
    },
    {
        "controlId":"61111f2eb10caac37d7d71",
        "editType":0,
        "valueType":2,//设置2
         "controlFiles":[
             { 
          "baseFile":"QABAAQQQAAG9nCwAAAA==", 
          "fileName":"带后缀的文件名.xlsx" 
      }]
    }
  ]
}

可能遇到的超时问题

如果您使用的是批量新增记录的接口,同时需要上传附件,那么可能遇到超时的问题,因为需要等到附件上传完毕才会返回成功状态。

推荐的做法

先将附件的URL写入到一个文本字段中,保证基本数据快速的写入,然后再通过工作流处理附件上传的问题,参考上面的示例。

三、API写入和工作流写入附件的对比

主要就是文件地址格式的不同。

  • 工作流中传入的格式是:["url1","url2"]

  • API中传入的格式是:"url1,url2"

四、URL的格式

  • 附件的URL必须保证明道云服务器可访问
  • 通过URL可直接下载保存附件
  • URL的结尾必须是扩展名

正确的URL

五、如何获取附件字段中每个文件的URL

请参考社区文章:如何获取附件中图片、文件的URL







相关搜索:文件上传、附件上传、上传文件

results matching ""

    No results matching ""