問題
CSVをダウンロードさせるようなエンドポイントを立てた時、ChromeやFireFoxではダウンロードになるのに、Edgeでのみダウンロードにならないという状況が発生しました。
問題のコード
エンドポイントのコードは以下です。フレームワークはSpringBootです。
@GetMapping(value = "/api/csv-all", produces = "text/csv") public void allCsv( @RequestParam("id") Integer id, HttpServletResponse response ) { response.setCharacterEncoding(CSVCharset); response.setHeader( "Content-Disposition", "attachement;filename=\"" + createFilename(i) + "\"" ); // 以下省略
原因
実は以下の部分にtypoがありました。これを直せばEdgeでもダウンロードになりました1。
response.setHeader( "Content-Disposition", // attachementが正しい綴り! "attachement;filename=\"" + createFilename(i) + "\"" );