renderedimageprovider.scala
来自「resetful样式的ws样例,一种面向资源的webservices服务」· SCALA 代码 · 共 51 行
SCALA
51 行
import java.awt.image._import java.io._import javax.imageio._import java.lang.annotation.Annotationimport java.lang.reflect.Typeimport javax.ws.rs._import javax.ws.rs.core._import javax.ws.rs.ext._package com.sun.jersey.samples.mandel {@Providerclass RenderedImageProvider extends MessageBodyWriter[RenderedImage] { def isWriteable(c: Class[_], gt: Type, annotations: Array[Annotation]) : boolean = { classOf[RenderedImage].isAssignableFrom(c) } def writeTo(t: RenderedImage, c: Class[_], gt: Type, annotations: Array[Annotation], mediaType: MediaType, httpHeaders: MultivaluedMap[String, Object], entityStream: OutputStream) : unit = { val formatName = RenderedImageProvider.formatName(mediaType) if (formatName == null) throw new IOException("Media type " + mediaType + "not supported") ImageIO.write(t, formatName, entityStream) } def getSize(t: RenderedImage) : long = { -1 }}object RenderedImageProvider { def formatName(t: MediaType) : String = { formatName(t.toString()) } def formatName(t: String) : String = { val i = ImageIO.getImageWritersByMIMEType(t) if (!i.hasNext()) return null i.next.asInstanceOf[ImageWriter].getOriginatingProvider.getFormatNames()(0) } def isSupported(t: MediaType) = ImageIO.getImageWritersByMIMEType(t.toString()).hasNext()}} // package
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?