Javascript下载CSV文件

Javascript下载CSV文件,javascript,node.js,express,download,Javascript,Node.js,Express,Download,我正在尝试在我的网站上创建一个按钮,允许用户下载.csv文件。我现在让网站点击服务器,服务器生成一个csv文件格式的文本字符串。我不知道该从哪里着手。我是将此字符串保存到服务器上的文件,然后将文件发送到客户端(我不希望在服务器端创建文件),还是将文本字符串发送给客户端,然后在客户端创建文件?我希望该按钮能够像用户期望的下载按钮一样工作(例如,他们可以选择保存文件的位置,进度条显示文件下载的进度) 我在服务器端使用Nodejs和express。生成文件后,只需在页面中放置指向文件位置的链接: &l

我正在尝试在我的网站上创建一个按钮,允许用户下载.csv文件。我现在让网站点击服务器,服务器生成一个csv文件格式的文本字符串。我不知道该从哪里着手。我是将此字符串保存到服务器上的文件,然后将文件发送到客户端(我不希望在服务器端创建文件),还是将文本字符串发送给客户端,然后在客户端创建文件?我希望该按钮能够像用户期望的下载按钮一样工作(例如,他们可以选择保存文件的位置,进度条显示文件下载的进度)


我在服务器端使用Nodejs和express。

生成文件后,只需在页面中放置指向文件位置的链接:

<a href="filename.xxx" target="_blank">Clickable text</a>

编辑:如果您正在使用node.js,请看这篇文章-

这是一个回调函数,我当前使用它发送csv。您可以按下按钮,使其调用此函数,并发送csv。当您调用此服务时,会自动将文件下载到您的计算机

function(req,res){
    // Process that does the csv and stores it in a variable csv_variable
    res.writeHead(200,{'content-type':'text/csv'});
    res.write(csv_variable);
    res.end();
});

希望这有帮助

给我们看一些代码。为什么你不能直接链接到csv?你是在服务器上有文件还是由网站生成的?我不希望文件存储在服务器上。有没有一种方法可以将文件发送到客户端而不将其存储在服务器上?您可以创建一个模拟文件下载的页面。哇,我刚刚注意到您使用的是node.js,要下载的文件名是什么?它将文件重命名为路由器中的路径选择器。e、 g.
{javascript}router.get('/csv1',function(req,res){z='1,1,1,1,1'res.writeHead(200,{'Content-Type':'text/csv;charset=utf-8'});res.write(z);res.end();})
在将路由更改为csv1时给出名称csv。它会将名称更改为csv1
function(req,res){
    // Process that does the csv and stores it in a variable csv_variable
    res.writeHead(200,{'content-type':'text/csv'});
    res.write(csv_variable);
    res.end();
});