java-在保存到Play Framework中之前调整Blob图片的大小

提问

我正在使用Java和Play Framework 1.2.4开发网页.

我有一个带有文件输入的简单表单,允许用户上传图像文件.有时,图像太大,然后需要大量时间来显示图像,因此我需要调整图像的大小.我该如何玩游戏?

我知道Images.resize(from,to,w,h)函数,我尝试使用它,但是它没有按我预期的那样工作,这是我的代码:

public static void uploadPicture(long product_id, Blob data) throws FileNotFoundException {
   String type = data.type();
   File f = data.getFile();
   Images.resize(f, f, 500, -1);
   data.set(new FileInputStream(f), type);

   Product product = Product.findById(product_id);
   product.photo = data;
   product.save();
}

最佳答案

也许您应该定义其他目标文件,而不是覆盖原始文件:

File f = data.getFile();
File newFile = new File("Foo.jpg"); // create random unique filename here
Images.resize(f, newFile, 500, -1);