자바 상용 팁: 파일 을 다운로드 할 때 파일 이름 중국어 난동
이것 은 사람 을 매우 골 치 아 프 게 하 는 문제 이다. 분명히 백 스테이지 에 있 는 파일 이름 이 정상 인 데 왜 다운로드 한 후에 파일 이름 이 엉망 이 되 었 을 까?
왜 난 장 판이 되 었 는 지: 브 라 우 저의 인 코딩 과 백 엔 드 의 인 코딩 이 일치 하지 않 기 때문에 화성 인 (\ # \ #) 과 수성 인 (* *) 이 사투리 로 말 하 는 것 과 같 습 니 다. 결 과 는 아무 도 알 아 듣 지 못 할 것 입 니 다.
그러면 의사 소통 을 할 때 언어 가 통 하지 않 는 문 제 를 어떻게 해결 할 것 인가? 그러면 하나의 통 일 된 언어 [UTF - 8] 를 쌍방의 의사 소통 언어 로 사용 하 자.
다운로드 방법 첨부
@ApiOperation("MinIO ")
@GetMapping("/generateFileDown")
public BaseRetBean generateFileDown(
@ApiParam(value = " ",required = true) @RequestParam(value = "id",required = true) String id,
HttpServletResponse response
) throws Exception {
BaseRetBean baseRetBean = new BaseRetBean();
//
GmFileBean gmFileBean = workOrderService.queryFileById(id);
if (gmFileBean==null) {
baseRetBean.setRet(0);
baseRetBean.setMsg(" ");
return baseRetBean;
}
String fileName = gmFileBean.getFile_name();
//
String bucketName="work-order";
InputStream inputStream = minioUtil.getObject(bucketName,gmFileBean.getData());
//
if (inputStream == null) {
baseRetBean.setRet(0);
baseRetBean.setMsg(" ");
return baseRetBean;
}
byte[] data = inputStreamToByteArray(inputStream);
try {
//
response.reset();
// HTTP
response.addHeader("Content-Length", "" + data.length);
// Content-disposition , encode
response.setHeader("Content-Disposition", "attachment; filename=\""+ URLEncoder.encode(fileName,"utf-8")+"\"");
//
response.setContentType("application/"+gmFileBean.getType()+";charset=UTF-8");
IOUtils.write(data, response.getOutputStream());
} catch (Exception ex) {
ex.printStackTrace();
}
baseRetBean.setRet(1);
baseRetBean.setMsg(" ");
return baseRetBean;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Windows 파일 이름에 동일한 문자열을 포함하는 파일 수에 따라 처리 변경개최 톱 아이돌의 AKB48 그룹의 아이들이 50 카운트나 1시간 마다의 리셋을 구사해 진흙 싸움을 펼치고 있는 요즘, 여러분 어떻습니까? 이라는 신 소프트웨어 덕분에 오로지에 flv 파일이 축적해 나가는 날마다, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.