簡體   English   中英

Javascript下載CSV文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM