本篇将和大家分享的丝.NetCore下载文件,常见的下载有两种:A标签直接指向下载文件地址和post或get请求后台输出文件流的方式,本篇也将围绕这两种来分享;如果对您有好的帮助,请多多支持。
允许站点不识别content-type下载文件(即:不受mime类型限制下载)
如何允许下载.nupkg和.apk后缀的文件
Razor模板的post下载文件例子
半年来使用NetCore的一些感想和焦虑
允许站点不识别content-type下载文件(即:不受mime类型限制下载)
对于netcore的web项目而言,内置了一些content-type允许下载的文件类型;我们将通过一个普通的razorweb项目来看看直接通过连接下载excel例子;首先,在项目的wwwroot目录创建一个bak文件夹,然后在该目录下存放如下几种文件:
然后不用修改任何代码或设置,直接启动站点,再直接在浏览器地址栏分别录入下载文件地址,如:
http://localhost:1120/bak/excel.xls
http://localhost:1120/bak/love.apk
http://localhost:1120/bak/stackexchange.redis.1.2.6.nupkg
http://localhost:1120/bak/Startup.cs
通过测试这个时候只有excel.xls文件是能直接被下载的,其他的都是404:
要想.apk,.nupkg.cs等后缀的文件不被限制,我们可以通过 public static IApplicationBuilder UseStaticFiles(this IApplicationBuilder app, StaticFileOptions options); 扩展来设置,我们仅仅只需要修改为如下代码:
app.UseStaticFiles(new StaticFileOptions { //设置不限制content-type ServeUnknownFileTypes = true });