我已经创建了 asp.net web 项目。我在这个项目中包含了一些文件。遵循所有要求的 CSS 标准。
background-image: url('~/Images/sideheader.png')
调试网站时,我可以看到所有图片。但是当我发布我的网站时,我在我的网站上看不到任何图片。
请帮我解决这个问题。
我已经创建了 asp.net web 项目。我在这个项目中包含了一些文件。遵循所有要求的 CSS 标准。
background-image: url('~/Images/sideheader.png')
调试网站时,我可以看到所有图片。但是当我发布我的网站时,我在我的网站上看不到任何图片。
请帮我解决这个问题。
你应该像这样使用它:
background-image: url('/Images/sideheader.png')
这样,相对路径就会解析到正确的位置。
您的 URL 未指向该文件。它在调试服务器上运行良好,因为当您在调试中运行它时,它会为您的项目启动一个测试服务器,该服务器的配置与您发布到的服务器不同。因为您将它放在不同的目录中,或者配置了不同的主目录,所以它找不到图像。
对于任何来到这个问题的人,这是通过测试用绝对 URL 替换相对 URL 是否可以解决问题而确定的,这发生在 OP 的评论部分。
当您手动将文件(即图像/js/css)添加到目录并直接在 html/css 中使用它们(根据您的问题)时,Visual Studio 不知道它们存在。您需要“显示所有文件”,然后“在项目中包含”要发布的图像/文件。
只有在 Visual Studio 的解决方案资源管理器中可见(=包含)的文件才会发布到您的服务器。
您只需将文件夹添加images
到您的项目并重新发布您的项目。要添加文件夹,请转到solution explorer
,单击show all files
,右键单击您的images
文件夹并选择include in project
。您无需更改您在 css 或其他任何地方使用的图像的任何 url。
我遇到了同样的问题,在我的情况下,由于 Visual Studio 无法识别 Images 文件夹,我必须为每个人设置读取权限。一旦我设置了图像文件夹权限,我的图像就显示得很好。