0
XLS 파일을 생성하는 서블릿을 구현했습니다. UI (GWT, RequestBuilder)에서 요청을하고 있습니다. 나는 응답을 얻지 만 준비된 파일 (자동 "다른 이름으로 저장"대화 상자)을 사용할 수 있습니까?GWT RequestBuilder 파일 다운로드
어떻게 든 헤더 등을 설정해야합니까?
요청 구현 내가 예를 사용하여 한 때 잘 (자동 파일 다운로드) 작업을했다
public void handleRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setHeader("Content-Disposition", "attachment; filename=File.xls");
HSSFWorkbook workbook = new HSSFWorkbook();
try {
workbook = fileExporter.prepareExcellFile();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
response.setStatus(HttpServletResponse.SC_OK);
OutputStream out = response.getOutputStream();
workbook.write(out);
out.flush();
out.close();
response.flushBuffer();
}
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, GWT.getModuleBaseURL() + "downloadLimitsFile");
try {
rb.setHeader("Content-type", "text/html");
Request response = rb.sendRequest("", new RequestCallback() {
public void onError(Request request, Throwable exception) {
Window.alert("fail");
}
public void onResponseReceived(Request request, Response response) {
Window.alert("file downloaded " + response.getText());
}
});
} catch (RequestException e) {
Window.alert("Failed to send the request: " + e.getMessage());
}
내 서블릿 구현 :
여기 내 코드입니다. 서블릿 URL을 앵커하지만 RequestBuilder를 사용하여 요청해야합니다.
누군가 도움을 줄 수 있습니까?
네가 맞다고 생각해. –