Заголовок Content-Disposition не устанавливается при загрузке файла - PullRequest
2 голосов
/ 31 марта 2012

Следующий код прекрасно работает, за исключением того факта, что заголовок размещения содержимого никогда не устанавливается и файл загружается с неверным именем.

Я просмотрел 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);
            }
        }));
    }
}

1 Ответ

0 голосов
/ 31 июля 2013

Эта ошибка была исправлена ​​в Play 2.1.

Смотрите это сообщение в блоге: https://groups.google.com/forum/#!topic/play-framework/-RlqeZDHcFU

...