我爲C#.net項目使用FileHelpers庫。所有工作正常,除了我需要通過點擊按鈕來保存生成的CSV。asp.net filehelpers直接向客戶端寫文件
因此,用戶點擊一個按鈕,他們得到一個提示保存文件。我知道Filehelpers有一個WriteStream選項,但他們自己的文檔只顯示了WriteFile的一個例子。我不知道是否需要WriteStream,但我認爲它是必需的。
任何人都知道是否可以將CSV文件直接保存到客戶端而不是服務器硬盤上?
謝謝。更多的細節
UPDATE:
我會盡量給更多的細節,以幫助澄清它就是我想要的目的。我不想在服務器上保存任何文件。我正在使用FileHelpers生成一條記錄,並且我想嘗試使用它們的WriteStream方法將該記錄直接寫入CSV到他們的瀏覽器;但他們提供的例子實際上並沒有實際使用這種方法,奇怪。
這裏的鏈接到他們的方法:
http://www.filehelpers.com/FileHelpers.FileHelperEngine.WriteStream_overload_2.html
而這裏的問題的方法。
public void WriteStream(
TextWriter writer,
IEnumerable records,
int maxRecords
);
我可以輕鬆地將文件保存到服務器,但不希望因爲我已經不再需要它,並希望獲取客戶端直接將其保存到自己的機器。
這可能是我必須通過正常的路線來實現這一目標,但我看到了WriteStream方法,並認爲FileHelpers可能會促成一種很好的乾淨方式來實現相同的結果。
希望這個更清楚。
您可以發佈工作代碼,您目前有保存文件不應該是一個問題,但它真的很難確定您正在嘗試執行什麼,而無需查看當前代碼。如果這是'ASP'。net'應用程序,那麼你希望你使用'響應對象'以及'StreamWriter類' – MethodMan 2013-03-22 15:07:33
我真的沒有任何代碼(在這個階段已經寫入和刪除了一千次)。我想要做的是點擊按鈕,通過瀏覽器將CSV文件返回給用戶。我可以將它保存到服務器沒有問題,但獲取相當於Response.TransmitFile()的工作,而不必保存文件已經避開了我。希望這更清楚。 – 2013-03-22 15:12:17
你仍然可以做到這一點,你需要使用'Response'來做到這一點,你可以參考它是非常直接的鏈接http://stackoverflow.com/questions/10974930/how-to-save-created-excel-file- to-client-pc-in-asp-net將'Response.ContentType =「application/ms-excel」;'改爲'Response.ContentType =「application/text」;'或'Response.ContentType =「text/csv 「;' – MethodMan 2013-03-22 15:15:20