[英]Javascript Download CSV File
我試圖在我的網站上創建一個按鈕,允許用戶下載.csv文件。 我目前在網站上訪問了服務器,服務器生成了一個以csv文件格式的文本字符串。 我不確定從哪里繼續。 我是將這個字符串保存到服務器上的文件中,然后將文件發送給客戶端(我寧願不要在服務器端上創建文件),還是將文本字符串發送給客戶端,然后在客戶端上創建文件?側? 我希望按鈕能夠像用戶期望下載按鈕一樣起作用(即,他們可以選擇保存文件的位置,並且進度條顯示文件下載的進度)
我正在使用Nodejs並在服務器端進行表達。
生成文件后,只需在頁面中放置指向文件位置的鏈接即可:
<a href="filename.xxx" target="_blank">Clickable text</a>
瀏覽器將知道如何處理並提示用戶他們要保存文件的位置。 一旦用戶指定了此文件,文件將被下載到用戶的計算機。
如果您只想在內存中創建文件,然后將其發送給用戶,則可以使用asp.net MVC執行以下操作:
public FileStreamResult MyFunction(/*your parms*/)
{
System.IO.MemoryStream stream = FunctionThatCreatesMyCalendarStream();
//you may need stream.Position = 0 here depending on what state above funciton leaves the stream in.
//stream.Position = 0;
FileStreamResult result = new FileStreamResult(stream, "text/csv");
result.FileDownloadName = "myfiledownloadname.csv";
return result;
}
編輯:如果您正在使用node.js看看這篇文章-Nodejs發送文件作為響應
這是我當前用於發送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();
});
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.