現在この投稿に設定した「タグ」の技術を使ってマニュアルダウンロードの実装をしているのですが、jsの処理でつまづいてしまいました。
質問があるのですが、
結論から言うと、
@Restcontrollerの戻り値をjsで受け取るにはどうしたらいいでしょうか?
jsでマニュアルダウンロードタブをクリックし、java側へ遷移し、そこでダウンロード処理を行った後、
jsで再度処理を行いたいです。(ex.画面離脱に関係するoff、onイベントハンドラを付与する操作)
以下のようなコードで実装しているのですが、
RestControllerでは戻り値がないのでjsでその値を検知することができないです。
RestControllerで処理を行った後、js側で検知することができるようにするにはどうすればいいでしょうか?
(戻り値を受け取るような。)もし分かる方がいらっしゃればよろしくお願い致します。
javascript
1$('#download').on('click',function(){ 2 location.href = "http://download/"; 3});
java
1@RestController 2public class DownloadController { 3@RequestMapping(value = "/download", method = RequestMethod.GET) 4public String download(HttpServletResponse response) throws IOException { 5 File file = new File("filepath"); 6 response.addHeader("Content-Type", "application/octet-stream"); 7 response.addHeader("Content-Disposition", "attachment; filename*=UTF-8''" + URLEncoder.encode(file.getName(), StandardCharsets.UTF_8.name())); 8 9 Files.copy(file.toPath(), response.getOutputStream()); 10 return null; 11} 12}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。