简单的,NetCore,C#,下载文件流

通常后台请求方法返回写法:

FileInfo fileInfo = new FileInfo(temp_file);      ----读取文件内容
var ext = fileInfo.Extension;      ----读取文件扩展名
new FileExtensionContentTypeProvider().Mappings.TryGetValue(ext, out var contenttype);      ----获取文件扩展的MIME类型
return File(System.IO.File.ReadAllBytes(temp_file), contenttype ?? "application/octet-stream", DateTime.Now.ToString("yyyyMMdd") + ".csv");      ----返回文件流

其他写法:

return File(new FileStream(temp_file, FileMode.Open), "application/octet-stream", DateTime.Now.ToString("yyyyMMdd") + ".csv");

 

前端JS接收:

let params = '';
Object.keys(param).forEach(function (key) {  //这里param是一个{ key: value }类型的对象用来记录要传的参数用的
    params += key + '=' + data.field[key] + '&';
});
const link = document.createElement('a');
link.href = '/download?' + params;
link.download = '导出';
link.click();

 

posted @ 2021-11-15 15:14  黑糖玛奇朵  阅读(986)  评论(0编辑  收藏  举报