以Base64编码形式返回的ASP.NET Core静态文件

时间:2018-07-11 20:22:23

标签: asp.net-core kestrel-http-server

我已经创建了一个新的ASP.NET Core Web应用dotnet new webapp
我已经添加了d3.js库,很好。

当我尝试运行日历示例尝试从服务器加载CSV文件时,我已将此文件添加到wwwroot目录中,但是当响应从开发服务器返回时,它将是base64编码的。

这导致d3的JSON解析中断。

This is the GitHub repo of the project if you want to run and see the error

有什么想法为什么Kestrel会用这种方式编码文件?

1 个答案:

答案 0 :(得分:1)

不确定d3.csv()的作用,但是可能您只需要正确设置Content-Type。默认情况下,Content-Type: application/octet-stream用于未知的文件类型。

在Startup.cs的Configure方法中,为.csv文件类型设置映射。

var provider = new FileExtensionContentTypeProvider();

// Add csv mapping
provider.Mappings[".csv"] = "text/csv"; // Try text/plain if text/csv doesn't work

app.UseStaticFiles(new StaticFileOptions
{
    ContentTypeProvider = provider
});