netmvc服务器无法写入文件,asp.net-mvc – 使用ASP.NET Core和MVC存储本地文件

在我们部署的新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);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值