1

ユーザーが XML ファイルをダウンロードできるようにする webapp があります。Spring の Response エンティティを使用して、生成されたファイルを返します。

Firefox と Chrome で問題なく動作し、ユーザーにファイルを保存するように直接促します。右クリックして「ダウンロード」でも機能します。ただし、IE では、ブラウザーで XML を開きます。それでも、ファイルをダウンロードできません。まず第一に、ファイル名を完全に無視するため、「baseURL/download?id=xx」をダウンロードするプロンプトが表示され、.html のダウンロードが促され、ダウンロードすることさえできません:「ファイルをダウンロードできませんでした」。

これが私の方法のようです。そして、コメントで試したいくつかのこと...

@RequestMapping
public ResponseEntity<Classification> handle(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {

    Classification xmlToDownload = null;

    HttpHeaders responseHeaders = new HttpHeaders();

//      responseHeaders.setContentType(MediaType.APPLICATION_XML);
    responseHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);

//      responseHeaders.set("Content-Type", "application/xml");
    responseHeaders.set("Content-Disposition", "attachment;filename=\"Classification.xml\" ");
//      responseHeaders.setContentDispositionFormData("filename", "Classification.xml");

    responseHeaders.setCacheControl("public");
    responseHeaders.setPragma("public");


        xmlToDownload = classificationsService.getClassificationById(Long.valueOf(classificationId));
    }

    return new ResponseEntity<Classification>(xmlToDownload, responseHeaders, HttpStatus.CREATED);

ヘッダーに何か問題がありますか?

4

1 に答える 1