我在Web应用程序项目中通过asp.net核心样板框架实现了依赖注入,但是当我想在asp.net核心WebApi项目中通过这个样板实现依赖注入时,在program.cs中调用我的webapimodule时,我收到了这个错误:
无法从程序集'System.Web,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'加载类型'System.Web.HttpPostedFileBase'。
public static void Main(string[] args)
{
// this line return error
AbpBootstrapper.Create<WebApiModule>().Initialize();
//
CreateWebHostBuilder(args).Build().Run();
}
你能给我一些关于如何通过WebApi项目中的asp.net核心样板框架实现依赖注入的示例。
System.Web.HttpPostedFileBase
存在于.NET Full Framework
(不是.NET CORE
)!
如果您的项目是.NET CORE
,请检查您是否有完整的框架包参考。
.net core不运行sys.web管道。因此,您将无法在.net核心中使用该api。
您可以使用IFormFiles进行文件上传。
[HttpPost("UploadFiles")]
public async Task<IActionResult> Post(List<IFormFile> files)
{
long size = files.Sum(f => f.Length);
// full path to file in temp location
var filePath = Path.GetTempFileName();
foreach (var formFile in files)
{
if (formFile.Length > 0)
{
using (var stream = new FileStream(filePath, FileMode.Create))
{
await formFile.CopyToAsync(stream);
}
}
}
// process uploaded files
// Don't rely on or trust the FileName property without validation.
return Ok(new { count = files.Count, size, filePath});
}
请参阅此链接了解详情 -
https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-2.2
我发现了问题,我的webApiModule依赖于AbpWebApiModule,它在.NET Core中不支持