首页 > 解决方案 > 如何在 iis 的 .net 核心中从 url 下载 bak 文件?

问题描述

我在iis .bak=application/octet-stream中设置了 mime 类型。并且文件在wwwroot/backup文件夹中。我发现一个 bin 文件1.bin是可下载的。

localhost/images/1.bin

但是bak文件不能下载localhost/images/1.bak 是的,wwwroot/images是默认的静态文件夹。如何添加备份文件夹?

我想在 url 中下载文件 1.bak :http://localhost/backup/1.bak

标签: asp.net-core

解决方案


您可以尝试使用操作来下载文件。

 public class HomeController : Controller
    {
    

        private readonly IWebHostEnvironment _env;

        public HomeController(IWebHostEnvironment env)
        {
            _env = env;
        }

        [Route("/images/{filename}")]
        public FileResult Download(string filename)
        {
            string mimeType = MimeTypes.GetMimeType(filename);
            string filepth = Path.Combine(_env.WebRootPath, "images", filename);

            FileStream fileStream = new FileStream(filepth, FileMode.Open, FileAccess.Read);
            return File(fileStream, mimeType, filename);
        }

    }

所有测试和工作。

测试https://localhost:44307/image/1.bak

文件下载成功。

要使用 MimeTypes,您需要从 Nugets 安装 MimeTypes。

在此处输入图像描述


推荐阅读