我在 web.config 文件中有以下图像路径的密钥
<add key="ImagePath" value="\Images\"/>
我想将图像存储在实时站点上的此文件夹中,如何在此处设置此值是否会出现域名,因为图像未存储在此路径中,它在本地站点上工作正常但在实时站点上无法正常工作
这听起来像是权限问题。
当 IIS 工作进程尝试写入 /Images/ 文件夹时,它无法写入,因为它没有写入权限。当您通过 Visual Studio 在本地运行您的网站时,它会授予工作进程对解决方案中任何文件夹的完全权限 - 这可能就是您可以在本地运行它但不能在服务器上运行它的原因。
您需要为 IIS 工作进程用户授予对 /Images/ 文件夹的读取和写入访问权限。
但是,您必须确保您没有授予 IIS 工作进程用户读取和执行权限。
如果此密钥在您的web.config文件中
<appSettings>
<add key="ImagePath" value="\Images\"/>
</appSettings>
然后在您的服务器端代码中,您可以从配置中获取图像路径以获取存储的物理路径,如下所示:
var imagePath = ConfigurationManager.AppSettings["ImagePath"];
var physicalPath = Server.MapPath(imagePath);
if (File.Exists(physicalPath))
{
//... store your images ...
}