场景:同一条记录的附件字段包含多个附件,现在想拆分到多条记录中
原始数据:
拆分后:
实现原理:通过代码块处理附件数组,将多个附件拆解成单独可下载的 url,并且转码附件名,形成数组
实现过程:
附上代码块
//将附件地址转换为JSON数组
var filelist=JSON.parse(input.filelist?input.filelist:'[]');
var result = [];
for (var i = 0; i < filelist.length; i++) {
var fileurl = filelist[i];
var url = new URL(fileurl);
var params = new URLSearchParams(url.search);
// 正则提取 attname 参数(不转码)
var match = fileurl.match(/(?<=attname=).+?(?=&e)/);
var filename = "";
if (match) {
var fullFilename = decodeURIComponent(match[0]); // 只转码 filename
filename = fullFilename.replace(/\.[^/.]+$/, ""); // 去除扩展名
}
result.push({
filename: filename,
fileurl: fileurl // 保留原始 URL,不修改其中的编码
});
}
//全部输出,按需选择
output={"result":result}