2
다음 코드는 내용 처리 헤더가 설정되지 않고 파일이 잘못된 이름으로 다운로드된다는 사실 외에도 아름답게 작동합니다.콘텐츠 처리 헤더가 파일 다운로드에 설정되어 있지 않습니다.
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);
}
}));
}
}