【发布时间】:2022-07-21 22:45:28
【问题描述】:
所以我正在尝试构建一个网站,当用户访问该网站并单击下载按钮时,该网站允许用户下载位于服务器计算机中的文件。
由于一些现实世界的限制,我希望使用尽可能少的库。理想情况下没有 Express 或 Ajax。而且我认为仅使用 vanilla node.js 就应该完全有可能
从我在互联网上的搜索看来,大部分代码都是这种形式:
const fs = require('fs');
const https = require('https');
// URL of the image
const url = 'GFG.jpeg';
https.get(url,(res) => {
// Image will be stored at this path
const path = `${__dirname}/files/img.jpeg`;
const filePath = fs.createWriteStream(path);
res.pipe(filePath);
filePath.on('finish',() => {
filePath.close();
console.log('Download Completed');
})
})
但是,代码似乎并没有按照我的意愿行事。 首先,它需要一个 url,因此它更多的是关于将在线资源定向到另一个位置。而我想在用户访问网站时实际向用户提供服务器上本地存储的文件。
其次,它似乎正在下载到服务器计算机。但我想要的是让用户下载到他们自己的客户端设备。基本上,当您想在 Internet 上下载内容时会遇到正常的下载功能,并且您会看到浏览器的“下载”部分有一些新条目。
我怎样才能实现我想要的?
我在这方面完全是个菜鸟,所以如果我能得到一个带有一些虚拟文件或路径名的骨架代码,那就太好了。
感谢任何指导。谢谢!
【问题讨论】:
标签: javascript html node.js