找回密码
 立即注册

QQ登录

只需一步,快速开始

阿凡佬

中级会员

2

主题

17

帖子

539

积分

中级会员

积分
539
阿凡佬
中级会员   /  发表于:2023-5-3 16:34  /   查看:1925  /  回复:0
1金币
我的图片表是这样的


用EL-文件上传的单元格取值是这样的

我现在需要点击这个上传按钮,给数据表增加对应数量数据行,每张图片对应一条记录,并添加"图片分类"字段


怎么搞。不太懂
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

已解决,找到了这篇看完必恍然大悟的活字格内幕:五十五、活字格附件存储原理详解 就是这么一句话,疑问全解答了 “ 二、附件/图片字段记录的值 附件和图片字段记录的值实际上就是重命名之后的文件名。 ” 另外分享下处理的JS代码 大概意思就是先把单元格值分割成数组,去除空项目(貌似结尾处必然会产生一个空项目),然后再把字符串取开头的"_"和结尾"."之间的中间部分作为文件名,图片类型是固定的,这样 ...

0 个回复

最佳答案
最佳答案
阿凡佬
中级会员   /  发表于:2023-5-3 16:34:29
来自 2#
已解决,找到了这篇看完必恍然大悟的活字格内幕:五十五、活字格附件存储原理详解


就是这么一句话,疑问全解答了



二、附件/图片字段记录的值

附件和图片字段记录的值实际上就是重命名之后的文件名。




另外分享下处理的JS代码
  1. const arr = Forguncy.CommandHelper.getVariableValue("图片数组");
  2. const imgType = Forguncy.CommandHelper.getVariableValue("图片类型")
  3. const objArr = arr.reduce((acc, str) => {
  4.     if (str !== "") {
  5.         const fileName = str.substring(str.indexOf("_") + 1, str.lastIndexOf("."));
  6.         if (!acc.some(obj => obj.fileName === fileName)) {//如果fileName重复则跳过
  7.             acc.push({
  8.                 value: str,
  9.                 fileName: fileName,
  10.                 type: imgType
  11.             });
  12.         }
  13.     }
  14.     return acc
  15. }, [])
  16. Forguncy.CommandHelper.setVariableValue("图片数组", objArr);
复制代码
大概意思就是先把单元格值分割成数组,去除空项目(貌似结尾处必然会产生一个空项目),然后再把字符串取开头的"_"和结尾"."之间的中间部分作为文件名,图片类型是固定的,这样创建一个对象数组,最后再用命令循环这个对象数组完成添加记录操作。好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部