簡體   English   中英

如何將數據寫入ASP.NET MVC中的App_Data文件夾?

[英]How can I write data to the App_Data folder in ASP.NET MVC?

我可以將數據寫入ASP.NET Web API應用程序中的App_Data文件夾,如下所示:

string appDataFolder = HttpContext.Current.Server.MapPath("~/App_Data/");
var htmlStr = // method that returns html as a string
string htmlFilename = "platypus.html";
string fullPath = Path.Combine(appDataFolder, htmlFilename);
File.WriteAllText(fullPath, htmlStr);

我想在ASP.NET MVC應用程序中做類似的事情(數據不同-PDF文件而不是html文件),但是無法識別“文件”。 我嘗試這樣:

using (var ms = new MemoryStream())
. . .
var bytes = ms.ToArray();
string appDataFolder = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
string pdfFilename = "test.pdf";
string fullPath = Path.Combine(appDataFolder, pdfFilename);
File.WriteAllText(fullPath, bytes);

...但是得到,“ 'System.Web.Mvc.Controller.File(byte [],string)'是一個'方法',在給定的上下文中無效”'

首先,我不認為我的代碼是錯誤消息似乎什么表明它是,但盡管如此,它沒有接受,所以:我怎么寫數據到在ASP.NET MVC App_Data文件夾?

看起來像是名稱空間沖突。 編譯器從與預期不同的名稱空間中獲取File 可以完成此工作的File類位於System.IO命名空間中,而不是System.Web.Mvc.Controller命名空間中。

可以通過在調用File.WriteAllText()時顯式指定正確的名稱空間來解決此問題:

System.IO.File.WriteAllText(fullPath, bytes);

暫無
暫無

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

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