第一步:通过 js 代码获取到文件 url 链接及原本的文件名后缀
代码:
var list= JSON.parse(input.imgs?input.imgs:"[]");
var imgurl=(list.length>0?list[0]:"")
var backgroundImageRegex=/(?<=attname=).+(?=&e)/;
var name=decodeURI(imgurl.match(backgroundImageRegex));
var filename = name;
//使用 split 方法分割字符串,取最后一个子串为文件后缀
var suffix = "." + filename.split(".").pop();
第二步:添加代码块将 url 转为 base64 格式
代码:
/ / 读取文件 URL 转 Base64
const fetch=require('node-fetch')
const url = input.url
const data = await fetch(url).then(r => r.buffer()).then(buf => buf.toString('base64'))
output={ base64: data }
第三步:因为只有通过 API 写入文件时,才能对文件名称重命名,所以通过发送 API 请求节点,使用应用 API 开发文档中对应工作表的【更新行记录】接口来更新附件字段
代码:
{
"appKey": "",
"sign": "",
"worksheetId": "工作表 id",
"rowId": "记录 id",
"controls": [
{
"controlId": "附件字段id",
"value": "https://www.mingdao.com/1.jpg,https://www.mingdao.com/2.jpg,https://www.mingdao.com/3.txt",
"editType": "0",
"valueType": "2",
"controlFiles": [
{
"baseFile": "第二步base64文本",
"fileName": "重命名文本+第一步的文件后缀"
}
]
}
],
"triggerWorkflow": true
}
具体参数可查阅 API 文档对应接口: