0

我想使用 Retool 中的按钮事件一次下载多个文件。我怎样才能用 Retool 做到这一点?作为另一种方法,我首先尝试将所有文​​件收集在一个文件夹中,然后使用 zip 下载它们。但它创建了损坏的 zip 文件。

我在 Retool 论坛上看到过有关此问题的帖子:

const zip = new JSZip();
let count = 0;
const urls = [
  'https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__480.jpg',
  'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSxl70GnCvkJzbeZ4vle5wSSOkbfcFiH6jGqxZ-v5seew5g9REYFQ1kEGa04ACE5wrLgSk&usqp=CAU',
];

urls.forEach(function(url){
    JSZipUtils.getBinaryContent(url, function (err, data) {
       if(err) throw err;
       count++;
       zip.file(`image-${count}.jpg`, data, {binary:true});
       if (count == urls.length) {
         zip.generateAsync({type:'blob'}).then(function(content) {
           utils.downloadFile(url, 'zipImages','zip');
         });
      }
    });
  });

重新工具文档: https ://docs.retool.com/docs/scripting-retool#utilsdownloadfiledata-filename-filetype

4

0 回答 0