2012-03-31 3 views
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); 
      } 
     })); 
    } 
} 

답변

관련 문제