あなたはこのようなものを作成できます多分あなたは、いくつかのパラメータまたはパス変数を追加する必要がある、ユーザーがダウンロードしたい文書を識別するためにURLを作成します
@RequestMapping(value = "/yourURL/download", method = RequestMethod.GET)
public void download(HttpServletResponse response) {
...Find your file to download
File file = //retrieve your file
String mimeType = URLConnection.guessContentTypeFromName(file.getName());
if (mimeType == null) {
logger.debug("mimetype is not detectable, will take default");
mimeType = "application/octet-stream";
}
try {
response.setContentType(mimeType);
response.setHeader("Content-Disposition", String.format("attachment; filename=\"%s\"", file.getName()));
response.setContentLength((int) file.length());
InputStream inputStream = new BufferedInputStream(new FileInputStream(file));
FileCopyUtils.copy(inputStream, response.getOutputStream());
} catch (Exception ex) {
logger.error("An exception has occurred trying to download the file", ex);
}
}
- を
- DBからファイルを探し、Fileオブジェクトを構築してmimeTypeを決定します
- ファイルに応答を追加し、ユーザーが使用しているブラウザに従ってファイルが自動的にダウンロードされるか、またはダウンロードを要求されます
- JSP/HTMLファイルでは、このURLのhrefでボタン/リンクを作成する必要があります。
また、私はテンプレートエンジンとしてtymeleafを使用します。 –