类型失配;找到:java.awt.image.buffereImage必需:java.io.File

类型失配;找到:java.awt.image.buffereImage必需:java.io.File,java,image,scala,amazon-web-services,io,Java,Image,Scala,Amazon Web Services,Io,我可以调整图像的大小: def resize(is: java.io.InputStream, maxWidth: Int, maxHeight: Int): List[(BufferedImage, S)] = { val originalImage = ImageIO.read(is) val scaledBI = new BufferedImage(maxWidth, maxHeight, BufferedImage.TYPE_3BYTE_BGR) val g = scaledBI.

我可以调整图像的大小:

def resize(is: java.io.InputStream, maxWidth: Int, maxHeight: Int): List[(BufferedImage, S)] = {
 val originalImage = ImageIO.read(is)
 val scaledBI = new BufferedImage(maxWidth, maxHeight, BufferedImage.TYPE_3BYTE_BGR)
 val g = scaledBI.createGraphics
 g.setComposite(AlphaComposite.Src)
 g.drawImage(originalImage, 0, 0, maxWidth, maxHeight, null);
 g.dispose
 List((scaledBI, maxWidth.toString() + "x" + maxHeight.toString()))
} //end resize


request.body.files.map { img =>
 val image = resize(new FileInputStream(img.ref.file), 120, 120)
}
但我无法将此保存到AWS S3 因为:

给我一个错误:

type mismatch; found : java.awt.image.BufferedImage required: java.io.File

我将Scala 2.10与playframework 2.2一起使用

如果要将BuffereImage传递给需要文件的对象,为什么希望它能工作?换句话说,不清楚您要问什么看起来您需要将BuffereImage转换为InputStream(请参阅),然后使用putObject编写它,使用PutObjectRequest构造函数获取输入流。
type mismatch; found : java.awt.image.BufferedImage required: java.io.File