Play-mini:如何返回图像

时间:2012-03-29 11:04:05

标签: scala playframework play2-mini

我正在尝试从play-mini应用程序提供图像。

object App extends Application {
  def route = {
    case GET(Path("/image")) => Action { request =>
      Ok( Source.fromInputStream(getClass.getResourceAsStream("image.gif")).toArray ).as("image/gif")
    }
  }
}

不幸的是,这确实没有用:)我收到以下错误

 Cannot write an instance of Array[Char] to HTTP response. Try to define a Writeable[Array[Char]]

2 个答案:

答案 0 :(得分:3)

不了解play-mini,但在play20中有预定义Writeable[Array[Byte]],因此您需要提供Array[Byte]进行文件处理。此外,play20中的服务文件有一些documentation

答案 1 :(得分:0)

我遇到了同样的问题,并且一直挠头将近一个星期。原来对我有用的解决方案是控制器类中的以下代码:

ng new

路线定义如下:

implementation ('com.airbnb.android:lottie:2.7.0') {
    exclude group: 'com.android.support', module: 'support-v7'
    exclude group: 'com.android.support', module: 'support-v4'
    exclude group: 'com.android.support', module: 'design'
    exclude group: 'com.android.support', module: 'recyclerview'
    exclude group: 'com.android.support', module: 'transition'
}

因此,输入带有照片扩展名的URL会在浏览器中显示照片,如下所示:http://localhost:9000/photos/2018_11_26_131035.jpg

图像保存在应用程序根文件夹中的文件夹“ public / photos”中,而不必保存在资产文件夹中。希望这对某人有帮助:-)