ASP.NETCoreMVC中如何上传文件并将其保存到数据库然后在另一个页面中下载文件?
创始人
2024-09-18 03:00:24
0
  1. 在Model中定义一个文件上传的属性,如下所示。

public class MyFile { public int Id { get; set; } public string FileName { get; set; } public byte[] FileData { get; set; } }

  1. 创建一个DTO(数据传输对象)来处理文件上传的数据。

public class MyFileDto { public string FileName { get; set; } public IFormFile FileData { get; set; } }

  1. 在View中添加一个文件上传控件。使用enctype = “multipart / form-data”将表单数据包装在多部分数据中,以便可以进行文件上传。

  1. 在Controller的动作方法中处理文件上传,并将文件保存到数据库中。

public async Task Upload(MyFileDto myFileDto) { if (myFileDto.FileData != null && myFileDto.FileData.Length > 0) { using (var stream = new MemoryStream()) { await myFileDto.FileData.CopyToAsync(stream);

        var myFile = new MyFile
        {
            FileName = myFileDto.FileName,
            FileData = stream.ToArray()
        };

        _context.MyFiles.Add(myFile);
        await _context.SaveChangesAsync();
    }
}

return RedirectToAction(nameof(Upload));

}

  1. 在另一个页面中添加一个下载链接,该链接通过从数据库中检索文件数据并将其提供给用户来允许用户下载文件。

Download

  1. 在Controller的动作方法中返回指定文件的文件数据以供下载。

public async Task Download(int id) { var myFile =

相关内容

热门资讯

详细透视"wepok... 详细透视"wepoker透视辅助挂的功能介绍"开挂(透视)辅助插件(重大科普解密教程)详细透视"we...
4分钟辅助!广西老友玩辅助,杭... 您好:杭州都莱辅助软件这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
正品透视"wepok... 正品透视"wepoker开挂软件是不是真的"开挂(透视)辅助插件(科普常识玩家教程)正品透视"wep...
第一分钟透视!微信闲来辅助神器... 您好:这款微信闲来辅助神器免费游戏是可以开挂的,确实是有挂的,很多玩家在这款微信闲来辅助神器免费游戏...
两分钟透视!摸一把游戏跑得快辅... 两分钟透视!摸一把游戏跑得快辅助,新玉海楼茶苑脚本(透视辅助开挂辅助下载);无需打开直接搜索加薇13...
原来有透视"wpk正... 原来有透视"wpk正版透视"开挂(透视)辅助插件(每日必备黑科技教程)【福星临门,好运相随】;原来有...
发现透视"wpk透视... 发现透视"wpk透视app有哪些"开挂(透视)辅助安装(总算了解可靠技巧)发现透视"wpk透视app...
第7分钟透视!丰城呱呱辅助器,... 大家好,今天小编来为大家解答丰城呱呱辅助器这个问题咨询软件客服可以免费测试直接加微信(1367043...
第六分钟辅助!卡五星辅助器逍遥... 第六分钟辅助!卡五星辅助器逍遥,德普之星透视(关于开挂辅助脚本)【无需打开直接搜索加薇1367043...
实测透视"微扑克数据... 实测透视"微扑克数据软件"开挂(透视)辅助神器(重磅来袭AI教程)《实测透视"微扑克数据软件"开挂(...