加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在Ubuntu 16.04中运行ASPNET Core应用程序时如何

发布时间:2020-12-15 23:58:49 所属栏目:asp.Net 来源:网络整理
导读:我试图使用dotnet core 1.1在Ubuntu 16.04中运行ASP5 / MVC6 ASPNET核心应用程序.我的应用程序驻留在用户主目录之外的一个目录中,主目录下的另一个目录包含带有图像(.jpg)文件的文件夹结构. 我收到以下错误… fail: Microsoft.AspNetCore.Diagnostics.Except
我试图使用dotnet core 1.1在Ubuntu 16.04中运行ASP5 / MVC6 ASPNET核心应用程序.我的应用程序驻留在用户主目录之外的一个目录中,主目录下的另一个目录包含带有图像(.jpg)文件的文件夹结构.

我收到以下错误…

fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
An unhandled exception has occurred: Access to the path '/home/myuser/myimages/somefolder' is denied.
System.UnauthorizedAccessException: Access to the path '/home/myuser/myimages/somefolder' is denied. ---> System.IO.IOException: Permission denied

这是文件夹结构的一个例子……

/home/myuser/mywebapp/mywebapp.dll

/home/myuser/myimages/somefolder/someimage.jpg

我已经将以下目录修改为777 ..

> / home
> / home / myuser
> / home / myuser / myimages
> / home / myuser / myimages / somefolder

…我还有chmodded文件someimage.jpg到777.

我从/ home / myuser / mywebapp运行aspnet核心应用程序.我试过sudo并没有好处.

我可以在ASPNET核心Web应用程序中引用工作目录之外的目录中的文件吗?

解决方法

默认情况下,静态文件应位于wwwroot文件夹中,该文件夹位于您工作的文件夹中.但是如果你想让它们保持在外面,你可以配置静态文件中间件:
public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerFactory)
{
    app.UseStaticFiles();

    app.UseStaticFiles(new StaticFileOptions()
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(),@"MyStaticFiles")),RequestPath = new PathString("/StaticFiles")
    });
}

请参阅教程here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读