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