解决浏览器中响应标头Content-Disposition: attachment; filename=??????230824090031973.xls 中文文件名问号的问题
时间: 2023-09-04 07:11:16 浏览: 100
要解决浏览器中响应标头Content-Disposition: attachment; filename=??????230824090031973.xls 中文文件名问号的问题,可以使用dataUtil中的date2Str方法对文件名进行转码处理。
首先,需要得到文件名中的日期部分(230824090031973),然后使用date2Str方法将其转换为指定格式的日期字符串。假设文件名中日期的格式为yyyyMMddHHmmssSSS,可以使用以下代码进行转换:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) {
String fileName = "??????230824090031973.xls";
String format = "yyyyMMddHHmmssSSS";
// 提取日期部分
String datePart = fileName.substring(fileName.indexOf("2308"), fileName.indexOf(".xls"));
// 将日期转换为指定格式的字符串
Date date = new Date(Long.parseLong(datePart));
String formattedDate = date2Str(date, format);
// 替换文件名中的日期部分
String newFileName = fileName.replace(datePart, formattedDate);
System.out.println(newFileName);
}
public static String date2Str(Date date, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
}
```
以上代码会将文件名中的日期部分替换为指定格式的日期字符串,如"20190704103015000"。这样就可以解决浏览器中响应标头Content-Disposition: attachment; filename=??????230824090031973.xls 中文文件名问号的问题。<span class="em">1</span>
#### 引用[.reference_title]
- *1* [导出复合表头excel](https://blog.csdn.net/Ay_Ly/article/details/83503020)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文