应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

.net core下载文件中文报错:Invalid non-ASCII or control character in header:

4918人阅读 2018/6/9 11:12 总访问:5193982 评论:0 收藏:0 手机
分类: .NET Core

.net core下载附件遇到中文下载会报错:InvalidOperationException: Invalid non-ASCII or control character in header: 0x7528。

使用url编码一下就可以解决了

  1. WebUtility.UrlEncode("用户信息表.xls")

整体代码如下:

  1. //把内存流做为文件下载中转
  2. MemoryStream memoryStream = new MemoryStream();
  3. workbook.Write(memoryStream);
  4. //Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
  5. Response.ContentType = "application/octet-stream;charset=UTF-8"; ;
  6. string newName = Guid.NewGuid().ToString().Replace("-", "");
  7. Response.Headers.Add("Content-Disposition", "attachment;filename=" + WebUtility.UrlEncode("用户信息表.xls"));
  8. //Response.Headers.Add("Content-Disposition", "attachment;filename=用户信息表.xls");
  9. Response.BodyWriter.WriteAsync(memoryStream.ToArray());
  10. Response.BodyWriter.FlushAsync();

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价