【发布时间】:2015-08-25 08:09:11
【问题描述】:
我刚刚使用 文件系统发布 将 AngularJS/WebAPI 项目发布到本地 IIS 应用程序,我可以在浏览器中打开该网站。不幸的是,无法加载图像、css 等资源。当我尝试访问位于子文件夹中的任何文件时,我仍然从服务器收到 HTTP 200,但正文为空。我记得几年前我遇到过这个问题,但我不记得为什么会这样。
请求
GET http://localhost/Content/images/common/logotype.png HTTP/1.1
Host: XX.XXX.XX.XXX
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,sv;q=0.6
回应
HTTP/1.1 200 OK
Server: Microsoft-IIS/8.5
X-Powered-By: ASP.NET
Date: Tue, 25 Aug 2015 07:56:12 GMT
Content-Length: 0
如您所见,根本没有正文,但图像存在于文件夹中,我可以从文件系统中打开它。我猜如果这是一个权限问题,服务器会返回 403 或类似的错误,而不是 200 OK?
【问题讨论】:
-
或许可以尝试将
image/png添加到您的Accept标头中,看看您是否能恢复内容? -
是SPA吗?如果是 - 你能显示你的 webconfig 吗?
-
是的,我想这是一个有角度的 SPA,但出于隐私原因,我无法提供整个 web.config。也许我可以提供一个感兴趣的特定部分?
-
你能检查一下本地文件夹的权限吗?运行应用程序池的用户需要对包含图像的文件夹具有权限
-
您启用了哪些 IIS 功能?
标签: c# http iis asp.net-web-api