赞
踩
将压缩包写入响应流时报的错。
String zipName = "压缩包.zip";
try {
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment;filename=" + zipName); // 报错
response.getOutputStream().write(zipStream.toByteArray());
} finally {
zipStream.close();
}
zipName
中包含了无效的字符导致的。Content-Disposition
头的值时出错。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();
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。