油猴脚本(4)——多维表格导出图片
创作者俱乐部成员
前几天论坛里有朋友问,多维表格里的图片怎么批量导出?
没找到这个功能,可能是我不太会用。。。
于是尝试了通过airscript,可以获取图片的url,但在airscript里怎么下载没搞明白
最后还是写了油猴脚本
👋 | // ==UserScript== // @name pic_download // @namespace http://tampermonkey.net/ // @version 2024-07-23 // @description try to take over the world! // @author You // @match https://www.kdocs.cn/l/* // @icon https://www.google.com/s2/favicons?sz=64&domain=kdocs.cn // @grant GM_download // ==/UserScript== (function() { 'use strict'; let btn = document.createElement('button') btn.textContent = '导出图片' btn.style.position = 'absolute' btn.style.left = '300px' btn.style.zIndex = 999 btn.addEventListener('click', function() { WPSOpenApi.Application.Record.GetRecords(1).then(r=>{ for (let i of r.records) { for (let j of i.fields['pic']) { let f = Date.now() + j['fileName'] WPSOpenApi.Application.Record.GetAttachmentURL(1, j['uploadId'] + '|' + j['source']).then(x=>{ GM_download(x, f) }) } } }) }) document.body.prepend(btn) })(); |
写的很粗,但大概意思是:
在注释里开启下载权限GM_download
创建一个按钮
点击按钮时,获取表1里的每一行记录
对于每一行的pic字段,获取里面每一张图片的source和uploadId
用source和uploadId获取每一张图片的url
通过GM_download下载url
这里的表序号1、字段名pic、下载的文件名都是图省事写成固定的了,需要根据自己的表修改一下。。。
遇到了个问题:
官方文档里GetAttachmentURL方法没写需要sheetId,但使用时发现需要这个