簡體   English   中英

如何在C#中創建,編寫然后返回文件而不將其保存到磁盤

[英]How can I Create, write and then return a file in C# without saving it to disk

我正在開發一個ASP.NET MVC應用程序,它具有服務器返回rdp文件的按鈕,該文件由我的業務層創建。

我想要的是能夠讓服務器創建這個rdp文件,然后提供它,而不是將它存儲在磁盤上。

最好的方法是什么?

謝謝。

您可以在MemoryStream中創建該文件,然后使用Response.Write為其提供服務
另外不要忘記將ContentType設置為“application / rdp”

編輯:正如Danny Chen建議您可以在控制器類中使用FileStreamResult

Stream stream = new MemoryStream();
//Fill the stream here
return new FileStreamResult(stream,"application/rdp") 

我會使用MemoryStream對象將數據寫入內存緩沖區。

但這完全取決於您的業務層,如果它足夠靈活,可以將數據輸出到任意流。

或者,如果在類Unix機器上,使用ramfs掛載文件夾並將其用於臨時存儲,則文件存儲在內存中。 但我猜你使用ASP.NET和Linux / BSD的可能性很小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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