目前我们完成档案上传的功能,接下来就要进行档案下载
写一个专门下载档案的Action,接受ID参数,去资料库看目录中有没有这个档案,有的话就去档案存放资料夹将档案传给Client。
public async Task<IActionResult> Get(Guid id)
{
var fileData = _context.File.Find(id.ToString());
if (fileData == null)
{
return NotFound();
}
var path = $"data/{fileData.Name}";
var memoryStream = new MemoryStream();
await using (var stream = new FileStream(path, FileMode.Open))
{
await stream.CopyToAsync(memoryStream);
}
memoryStream.Seek(0, SeekOrigin.Begin);
var contentTypes = new Dictionary<string, string>
{
{".png", "image/png"},
{".jpg", "image/jpeg"},
{".jpeg", "image/jpeg"},
{".gif", "image/gif"}
};
// 要跟前端说要下载档案的类型
return new FileStreamResult(
memoryStream,contentTypes[Path.GetExtension(path).ToLowerInvariant()]);
}
<<: 这些日子我学到的JavaScript:Day26- BOM
>>: Day 29 测试 React 元件:测试 React Hook
安装 安装golang,可到官网的下载页面进行下载(https://golang.org/dl/) ...
Uptime - 掌握系统的生命徵象 系列文章 (1/4) - 我们要观测的生命徵象是什麽? (2/...
前言 官方套件使用范例 想带大家认识 Flutter Blue 套件 怎麽使用。 了解里面的参数。 ...
延续昨日 我们今天先把 登出的功能给搞定 不然每次都要清除session不然就是要重开== 由於我们...
GMail 挡信,DNS Server 需要新增 spf dmarc dkim 该怎麽设定 原文出处...