使用ASP.NET Core和MVC存储本地文件

安德鲁·S

有了Asp.NET Core,环境中方便的寻路功能就消失了。HttpContext和HttpServerUtility已被删除。缓存框架中的应用程序存储也消失了。我不再能够(以代码形式)假设我的服务器正在使用IIS,或者甚至在Windows机器上运行它。

而且我没有数据库;我有一组JSON文件。由于该问题范围之外的原因,不能将其存储在数据库中。

如何读写服务器上的文件?

乔·奥黛特(Joe Audette)

在新的ASP.NET Core部署环境中,我们有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);
        }

    }


}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 ASP.NET MVC 将 JSON 数据存储和更新到文件中?

来自分类Dev

ASP.NET Core 3 MVC端点路由和按路由进行本地化

来自分类Dev

使用angularjs和ASP.NET MVC

来自分类Dev

ASP.NET CORE(.NET Framework)和本地化

来自分类Dev

ASP.NET Core 和 EF Core 1.1 - 使用存储过程显示数据

来自分类Dev

无法在ASP.NET MVC中使用资源文件进行本地化

来自分类Dev

ASP.NET Core:使用自定义基本URL和https在本地进行开发

来自分类Dev

ASP.Net Core MVC存储库模式意外处置

来自分类Dev

使用ASP.NET MVC上传多个文件/文件路径

来自分类Dev

ASP.NET Core MVC 和 EF Core 1.1

来自分类Dev

如何使用 ASP.NET Core MVC 对 HTML 文件发出 get 请求

来自分类Dev

使用MVC和ASP.Net Core进行动态URL重写

来自分类Dev

使用Asp.Net Core MVC和FullCalendar显示SQL表的内容

来自分类Dev

如何使用ASP.NET MVC(或Core)检测和重定向无cookie会话?

来自分类Dev

使用 Chart.js 和动态数据加载图表 ASP.net MVC-Core

来自分类Dev

使用AddSignInManager时的ASP.NET Core MVC异常

来自分类Dev

在ASP MVC .Net Core中何处使用/放置jQuery?

来自分类Dev

使用ASP.NET Core MVC获取用户输入

来自分类Dev

Asp.Net MVC Core 2 - 在 _Layout 上使用 ViewBag

来自分类Dev

Asp.Net Core MVC:无法使用区域配置路由

来自分类Dev

ASP.NET MVC Core - 通过 HttpClient 使用 API

来自分类Dev

使用ASP.NET和Azure创建云存储应用

来自分类Dev

在ASP.NET MVC和LINQ中执行存储过程

来自分类Dev

在ASP.Net MVC中使用异步

来自分类Dev

ASP.NET MVC-使用JavaScript

来自分类Dev

使用远程验证asp.net MVC

来自分类Dev

免费使用ASP .NET MVC 5

来自分类Dev

使用DropDownLists的ASP.NET MVC

来自分类Dev

使用ViewBag-ASP.NET MVC

Related 相关文章

热门标签

归档