2016-11-11 60 views
0

我在我的应用程序中有一个pdf下载链接,它在所有桌面设备上工作正常,但我无法使它在Android上工作。Play2.4在Android设备上的Scala下载pdf文件

我的控制器结果如下:

Ok(outputStream.toByteArray) 
    .withHeaders("Content-Disposition" -> s"""attachment; filename="$ticketId.PDF"""", 
       "Connection" -> "Keep-Alive", 
       "Content-Type" -> "application/octet-stream") 

为什么这不是在Android上正常工作?

+0

尝试将Content-Type更改为“application/pdf” – Salem

回答

1

只需使用sendFile函数Ok即可将文件发送到客户端浏览器。 sendFile通过读取文件的扩展名来自动设置响应的内容类型为正确的类型。所以,它的用户友好和无bug。

def file = Action { 
Ok.sendFile(new File(s"${sys.props("user.home")}/Desktop/something.pdf"), inline = true) 
}