错误:Parse Error: Invalid header value char(已解决)

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。错误:Parse Error: Invalid header value char(已解决),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

错误:Parse Error: Invalid header value char(已解决)

前言

将压缩包写入响应流时报的错。

错误代码

String zipName = "压缩包.zip";

try {
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment;filename=" + zipName); // 报错
response.getOutputStream().write(zipStream.toByteArray());
} finally {
zipStream.close();
} 

原因分析

  1. 这个错误通常是由于 zipName 中包含了无效的字符导致的。
  2. 错误发生在设置响应头(response header)时,具体是在设置 Content-Disposition 头的值时出错。
  3. HTTP 头的值应该是有效的 ASCII 字符,并且不能包含特殊字符或非 ASCII 字符。根据错误信息,zipName 中可能包含了一个或多个无效字符,导致无法设置正确的头值。

解决方法

zipName 进行编码,确保其中的特殊字符被正确处理。你可以使用 URLEncoder 对文件名进行编码,如下所示:

String zipName = "压缩包.zip";
zipName = URLEncoder.encode(zipName, "UTF-8"); // 主要添加这行代码

try {
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment;filename=" + zipName);
response.getOutputStream().write(zipStream.toByteArray());
} finally {
zipStream.close();
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/189747.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!