asp.net-mvc – 使用ASP.NET Core和MVC存储本地文件
发布时间:2020-12-15 21:02:22 所属栏目:asp.Net 来源:网络整理
导读:使用Asp.NET Core,环境中的便捷路径查找功能已经消失. HttpContext和HttpServerUtility已被剥离.而Cache框架中的Application存储已经消失.我不能再(在代码中)假设我的服务器使用的是IIS,或者它甚至在 Windows机器上运行. 而且我没有数据库;我有一组JSON文件.
使用Asp.NET Core,环境中的便捷路径查找功能已经消失. HttpContext和HttpServerUtility已被剥离.而Cache框架中的Application存储已经消失.我不能再(在代码中)假设我的服务器使用的是IIS,或者它甚至在
Windows机器上运行.
而且我没有数据库;我有一组JSON文件.其中,由于此问题范围之外的原因,无法存储在数据库中. 如何读取和写入服务器上的文件? 解决方法
在我们部署的新ASP.NET核心世界中,我们有2个文件夹appRoot和wwwroot
我们通常只将文件放在我们打算直接用http请求服务的wwwroot文件夹下.因此,如果您的json文件是直接提供的,即客户端js使用,那么也许你会把它们放在那里,否则你会在appRoot下面使用不同的文件夹. 我将在下面展示如何解决这两种情况的路径,即示例代码如何将json字符串保存到appRoot或wwwroot下面的文件夹中.在这两种情况下都将您的位置视为相对于其中一个文件夹的虚拟路径,即/ some / folder / path其中第一个/表示appRoot或wwwroot public class MyFileProcessor { public MyFileProcessor(IHostingEnvironment env,IApplicationEnvironment appEnv) { hostingEnvironment = env; appEnvironment = appEnv; appRootFolder = appEnv.ApplicationBasePath; } private IHostingEnvironment hostingEnvironment; private IApplicationEnvironment appEnvironment; private string appRootFolder; public void SaveJsonToAppFolder(string appVirtualFolderPath,string fileName string jsonContent) { var pathToFile = appRootFolder + appVirtualFolderPath.Replace("/",Path.DirectorySeparatorChar.ToString()) + fileName; using (StreamWriter s = File.CreateText(pathToFile)) { await s.WriteAsync(jsonContent); } } public void SaveJsonToWwwFolder(string virtualFolderPath,string fileName string jsonContent) { var pathToFile = hostingEnvironment.MapPath(virtualFolderPath) + fileName; using (StreamWriter s = File.CreateText(pathToFile)) { await s.WriteAsync(jsonContent); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 应用程序池循环如何影响ASP Net会话状态?
- 如何在ASP.NET Core MVC中获取Url Referrer?
- asp.net-mvc – Razor并在ActionLinks上指定css类名
- 如何在ASP.NET中动态生成列表项到无序列表?
- ASP.NET MVC 3和ASP.NET MVC 4剃刀语法更改?
- asp.net – 从HTML生成MHTML
- asp.net-mvc – ViewData Dictionary的范围是什么?
- ASP.NET:global.asax中的Access Session变量
- asp.net-mvc-2 – 从.NET MVC 1迁移到MVC 2 RC
- asp.net – 使用内联代码测试Container.DataItem
推荐文章
站长推荐
- asp.net – 如何从Visual Studio 2010 SP1运行时
- asp.net – UpdatePanel和ClientIDMode =“静态”
- asp.net – 如何使用resxresourcewriter写入所有
- asp.net-core – 使用[FromBody]时获取原始POST数
- 如何使用ASP.NET标识使声明无效?
- asp.net-mvc – 如何使用ASP.NET MVC和表单身份验
- 与asp.net mvc的dotnetopenauth证明太沮丧使用
- asp.net-web-api – 更好地总是在Web Api中返回H
- asp-classic – 如何从Classic ASP Request获取*
- asp.net-mvc – “安全感知”动作链接?
热点阅读