首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使在.NET中修改了<requestFiltering>之后,也无法从applicationHost.config核心本地服务器提供某些文件扩展名

即使在.NET中修改了<requestFiltering>之后,也无法从applicationHost.config核心本地服务器提供某些文件扩展名
EN

Stack Overflow用户
提问于 2020-10-15 07:43:36
回答 1查看 54关注 0票数 0

我正在建立一个网站,我遇到了无法访问/下载一些文件扩展名的问题,比如.py.cs。例如,当我请求获取.cs文件时..

代码语言:javascript
复制
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,并删除了所有过滤后的扩展,使其看起来如下所示:

代码语言:javascript
复制
<requestFiltering>
   <fileExtensions allowUnlisted="true" applyToWebDAV="false">
          <!--empty-->
   </fileExtensions>
   ....
</requestFiltering>

现在我再也没有404了。但是success(blob)会返回标记文本--我的网站的index.html。(我使用Reactjs,我注意到当fetch出现问题时就会发生这种情况。)当我尝试在新选项卡中打开url时,再也看不到requestFiltering错误页面。而是加载站点的主页。

所以我真的很困惑。我没拿到404分,但我好像也没拿到文件。修改requestFiltering改变了一些东西,但看起来我还需要做一些其他的事情。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-15 19:43:08

原来,除了编辑applicationHost.config文件中的<requestFiltering>之外,我还必须在startUp类中使用ServeUnknownFileTypes

代码语言:javascript
复制
app.UseStaticFiles(new StaticFileOptions
{
   ServeUnknownFileTypes = true,
   DefaultContentType = "text/plain"
});

查看this answer了解更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64362938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档