Следующий код прекрасно работает, за исключением того факта, что заголовок размещения содержимого никогда не устанавливается и файл загружается с неверным именем.
Я просмотрел API-интерфейсы Java, но не вижу способа установить заголовок. Я попытался установить его в функции применения, но объект ответа на этом этапе является нулевым. Я попытался установить заголовок в функции индекса, но он игнорируется. Может кто-нибудь объяснить, где я иду не так, пожалуйста? Большое спасибо.
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);
}
}));
}
}