2
次のコードは、コンテンツ処理ヘッダーが決して設定されず、ファイルが不正な名前でダウンロードされるという事実を除いて、美しく機能します。ファイルのダウンロードにContent-Dispositionヘッダーが設定されていません
私はJava APIを精査しましたが、ヘッダーを設定する方法がわかりません。私はそれをapply関数で設定しようとしましたが、その時点で応答オブジェクトはnullです。インデックス関数でヘッダを設定しようとしましたが無視されます。誰かが私が間違っている場所を説明してもらえますか?どうもありがとう。
package controllers;
import java.io.File;
import java.util.concurrent.Callable;
import play.libs.Akka;
import play.libs.F;
import play.libs.F.Function;
import play.mvc.Controller;
import play.mvc.Result;
public class Application extends Controller
{
public static Result index()
{
F.Promise<File> promiseOfFile = Akka.future(new Callable<File>()
{
public File call()
{
return new File("temporaryfilename.txt");
}
});
response().setHeader("Content-Disposition", "attachment; filename=\"actualfilename.txt\"");
return async(promiseOfFile.map(new Function<File, Result>()
{
@Override
public Result apply(File file)
{
return ok(file);
}
}));
}
}