asp.net-mvc – 使用ASP.NET Core和MVC存储本地文件
发布时间:2020-05-24 17:58:16 所属栏目: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);
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – MVC6的VersionedRoute属性实现
- asp.net – 拒绝直接访问文件夹(仅允许通过应用程序)
- 将链接列添加到ASP.NET GridView
- asp.net:runat =“server”和服务器控件之间的区别
- asp.net-mvc – 是否由Razor支持lambda表达式?
- 强制ASP.NET为所有用户代理生成JavaScript
- asp.net-web-api – OAuthBearerAuthenticationMiddleware
- asp.net-web-api – 交叉原始SignalR连接在协商后停止
- asp.net-mvc – ASP.Net MVC 2验证是否需要更多的思考在模式
- asp.net – __doPostBack在DotNetNuke网站上未定义为IE 10
推荐文章
站长推荐
- asp.net-core – 如何使用带有IdentityServer4的
- asp.net-mvc – 具有输出参数的ExecuteSqlComman
- 将用户添加到角色ASP.NET身份
- asp.net – 自定义elmah.axd输出字段
- asp.net – iTextSharp可以栅格化/导出为JPEG或其
- asp.net-mvc-2 – EditorFor – 传入字典的模型项
- asp.net-mvc – Elmah日志文件删除,手动还是有设
- asp.net – .NET中的商业网络应用程序 – 选择哪
- asp.net-mvc – 具有多个应用程序的ASP.NET标识
- asp.net-mvc – 为什么我在带有godaddy服务器的M
热点阅读
