asp.net core webapi 文件下載實現


在.NET Web API Core 中實現文件下載

       var fileProvider = new PhysicalFileProvider("\\host\patha\pathb\");//絕對路徑,如 c:\files\ ;網絡路徑:\\a\b\c

            var diretoryOptions = new DirectoryBrowserOptions
            {
                FileProvider = fileProvider,
                RequestPath = "/files",
                Formatter= new MyDirectoryFormatter(HtmlEncoder.Default)//自定義文件目錄頁面
            };

            var fileExtensionContentTypeProvider = new FileExtensionContentTypeProvider();
            fileExtensionContentTypeProvider.Mappings[".xml"]= "application/octet-stream"; //IE不支持           

            var fileOptions = new StaticFileOptions
            {
                FileProvider = fileProvider,
                RequestPath = "/documents",
                ContentTypeProvider = fileExtensionContentTypeProvider,
                OnPrepareResponse = (staticFileResponseContext)=>{ staticFileResponseContext.Context.Response.Headers.Add("content-disposition", "attachment"); }//在IE中讓文件作為附件下載
            };

            app.UseDirectoryBrowser(diretoryOptions);
            app.UseStaticFiles();
            app.UseStaticFiles(fileOptions);

 

MyDirectoryFormatters 實現 IDirectoryFormatter接口,可以自定義文件夾顯示界面;

DirectoryBrowserOptions 建立文件夾與URL的映射

StaticFileOptions 建立文件與URL的映射
 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM