有没有办法在 ASP Core 的静态类中使用“IWebHostEnvironment”?
我的课 :
public class MainHelper
{
private readonly IWebHostEnvironment _hostingEnvironment;
public MainHelper(IWebHostEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
public static void SaveFile(IFormFile file)
{
var path = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
using (var fileStream = System.IO.File.Create(Path.Combine(path, file.FileName)))
{
file.CopyTo(fileStream);
}
}
}
我的行有错误:
var path = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
Error:c# session 非静态字段方法或属性“MainHelper._hostingEnvironment”需要对象引用
请指教
因为接受的答案是一个。
但如果有人提到在静态类中没有初始化的情况下使用:
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
public class Common{
public static IWebHostEnvironment WebEnv()
{
var _accessor = new HttpContextAccessor();
return _accessor.HttpContext.RequestServices.GetRequiredService<IWebHostEnvironment>();
}
}
Usage:
var path = Common.WebEnv().WebRootPath;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)