WebRootPath的图像路径不起作用。 IHosting环境

时间:2019-07-27 16:46:34

标签: c# asp.net-mvc

您好,我想问为什么IHostingEnvironment地址不适用于图片。

 private readonly IHostingEnvironment env;

如果我要删除,移动或任何其他操作,它正在工作。我使用此代码

 Directory.CreateDirectory(env.WebRootPath + "\\ClientFolder\\" + clientNameWithNoSpace);

但是,如果我使用文件名作为图像源,则看不到图像。

作品:如果@ Model.ClientImageName =

“ \ ClientFolder \ Paul \ ClientM.png”

如果是这样,则无法使用:“ C:\ Users \ sari_ \ source \ repos \ MnMClientEF \ MnMClientEF \ wwwroot \ ClientFolder \ Paul \ ClientM.png”

1 个答案:

答案 0 :(得分:1)

如果您是通过Web服务器执行此操作的,那么安全性可能正在受阻吗?

由于Web服务器通常运行24/7,并且可以从Internet访问,因此它们是黑客攻击的主要目标。因此,限制其权利已成为安全的组成部分。

它们通常各自在单独的用户下运行。给该用户:

  • 读取程序文件夹中的权限
  • 读取内容文件夹中的权限
  • 也许在内容下方的文件夹中写入权限,例如临时文件。但是也许您可以仅使用HTTP处理程序来解决此问题?

如果不这样做,最终将导致黑客覆盖一些代码,该代码会将从google到色情页面的用户重定向到真实页面。

由于相对路径有效,但绝对路径无效,这可能是原因。