我正在建立一个网站,但遇到了无法访问/下载某些文件扩展名的问题,例如.py
, .cs
。例如,当我请求获取 .cs 文件时..
fetch("https://localhost:44310/userdata/texts/7/637381399366309280.cs")
.then(resp => resp.blob())
.then(blob => {
success(blob)
})
.catch((res) => alert('oh no!'));
userdata
文件夹是文件夹的直接子级wwwroot
。success
是将 blob 转换为文本的函数。对于一个.txt
文件(与 .cs 文件位于同一文件夹中),一切正常,我得到了 .txt 文件包含的确切文本。但是对于一个.cs
文件,我得到了标记文本——我网站的 index.html。奇怪的oh no!
是没有警觉。我尝试使用托管在 github 上的一些随机 .cs 文件,它运行良好。
最初,我得到一个彻底的 404。当我尝试https://localhost:44310/userdata/texts/7/637381399366309280.cs
在浏览器中打开链接 ( ) 时,我得到以下页面:
我做了一些研究,找到了 applicationHost.config 并删除了所有过滤后的扩展,看起来像这样:
<requestFiltering>
<fileExtensions allowUnlisted="true" applyToWebDAV="false">
<!--empty-->
</fileExtensions>
....
</requestFiltering>
现在我不再得到404了。但success(blob)
返回标记文本 - 我网站的 index.html。(我使用 Reactjs,我注意到当 fetch 出现问题时会发生这种情况。)当我尝试在新选项卡中打开 url 时,我不再得到requestFiltering
错误页面。而是加载该站点的主页。
所以我真的很困惑。我没有得到 404,但我似乎也没有得到文件。修改requestFiltering
更改的内容,但似乎我还需要做其他事情。请帮忙。