![](/img/trans.png)
[英]Can I use App_Data folder as a normal folder in my C# ASP.NET MVC application?
[英]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.