0

CSV データをクライアントに送信しようとしています。

これが私がどのように進めるかです: クライアント側: ファイルを取得するためのサーバーへの ajax 呼び出し。

$.ajax({
    url:"/csv/"+source,
    method:'post',
    data:JSON.stringify(json),
    contentType: "application/json; charset=utf-8"
});

サーバー側: ファイルを生成し、クライアントに送り返します。

   File file = CSVGenerator.generateFromJson(source, request().body().asJson());
    response().setHeader("Content-Lenght", String.valueOf(file.length()));
    response().setHeader("Content-Disposition", "attachment; filename=\""+file.toString()+"\"");
    return ok(file).as("text/csv");

私は多くのリターンを試みました。たとえば、私はこれを試しました:

return ok(new FileInputStream(file)).as("text/csv");

次のような多くのヘッダーも試しました。

response().setContent("text/csv");

また

response().setHeader("Content-Type","text/csv");

それ以外の.as("text/csv")

クライアントは、適切なヘッダーと適切なデータを含む応答を受け取りますが、ダウンロードを開始しません。

私は何が欠けていますか?

4

1 に答える 1