首页 > 解决方案 > 如何从服务器下载文件并在 Node.js 中同步重命名?

问题描述

我希望每个客户端都可以从服务器的文件夹中下载文件,并且我不希望所有这些文件都保存在 /download 文件夹中。

我想先下载文件然后重命名,但我需要同步运行这段代码。

router.get('/', function(req, res){

        const file = `${__dirname}/upload-folder/apple.jpg`;
        const destination = `C:/Users/steve/Downloads/apple.jpg`;

        res.download(file);

         fs.renameSync(destination,"C:/Users/steve/Desktop/downloadedimg.jpg");     
    }
);

标签: node.jsfileserverdownloadsynchronous

解决方案


看起来您将客户端与服务器端混为一谈。您提供的代码适用于服务器端的 node.js。您无法指定在客户端计算机上下载文件的位置。您可以为正在下载的文件提供不同的名称:

res.download(`${__dirname}/upload-folder/apple.jpg`, 'orange.jpg');

参考:https ://expressjs.com/en/api.html#res.download


推荐阅读