MERN 堆栈:从服务器下载 .zip 文件

时间:2021-02-27 22:49:36

标签: node.js reactjs zip mern

在我的 React 应用程序中,我从存储在 mongo 数据库中的图像在后端生成了一个 .zip 文件。 .zip 文件称为 all memes.zip 并放置在服务器端的公共文件夹中。我想包括通过前端的下载按钮下载相关文件的选项。当按下下载按钮时,开始下载文件,但显示“错误 - 没有文件”。

这是我在后台生成 .zip 文件的代码:

const zipFolder = require('zip-a-folder');


// Generate .zip-file of  filePath which contains all saved memes
class ZipAFolder {
 
  static main() {
      zipFolder.zipFolder('./public/share', './public/allmemes.zip', function(err) {
          if(err) {
              console.log('Something went wrong!', err);
          } 
      });
  }
}

ZipAFolder.main();

这些是我在前端的代码片段:

import { saveAs } from 'file-saver';


// Save .zip-File of all saved Memes
  const saveFile = () => {
    fileSaver.saveAs(
      process.env.PUBLIC_URL + "/public/allmemes.zip",
      "allmemes.zip"
    );
    }


        <Button className={classes.button} onClick=               {saveFile}>
         Download .zip-File
        </Button>

不知何故无法识别文件保护程序的导入。

有人可以帮忙解决这个问题吗?会很棒。谢谢!

1 个答案:

答案 0 :(得分:0)

删除文件保护程序。它会起作用

import { saveAs } from 'file-saver';


// Save .zip-File of all saved Memes
  const saveFile = () => {
    saveAs(
      process.env.PUBLIC_URL + "/public/allmemes.zip",
      "allmemes.zip"
    );
    }


        <Button className={classes.button} onClick=               {saveFile}>
         Download .zip-File
        </Button>

相关问题