2013-06-10 18 views

Odpowiedz

11

w celu określenia konkretnego pliku, trzeba ustawić Content-Disposition nagłówek w odpowiedzi przed zwróceniem ok(file) wynik.

Oto przykładowy kod:

public static Result myAction() { 
    ... 
    response().setHeader("Content-Disposition", "attachment; filename=image.png"); 
    return ok(file); 
} 
5

Magia za to w Scala (Play 2.4.x) jest

def myAction() { 
    ... 
    ok(file).withHeaders("Content-Disposition" -> "attachment; filename=image.png") 
} 

Zauważ, że jest to liczba mnoga, jest to mapa i można mieć wiele wartości w razie potrzeby.

Oczywiście następna rzeczą, którą chcesz zrobić, to zrobić to rzeczywisty pobrania, które odbywa się w taki sposób:

def myAction() { 
    ... 
    ok(file).withHeaders(CONTENT_TYPE -> "application/x-download", CONTENT_DISPOSITION -> "attachment; filename=image.png") 
} 

Wskazówki Są to stałe dla większości nagłówków określonych w kontrolerze https://www.playframework.com/documentation/2.4.0/api/scala/index.html#play.api.mvc.Controller

Powiązane problemy