我有一个面向用户的应用,用户应该上传图片。我担心他们不会遵循指示(确实很少见)并加载大量文件。有没有办法可以调整用户上传的图像的大小?
答案 0 :(得分:3)
David Leedy在他在2014年MWLUG演示的File Vault应用程序中正在做一些这方面的工作,特别是JPEG图像。你可能会在the Processor Class找到他所看到的并看看他是如何在那里做的,his repo is on Bitbucket。
Ni9 announcing this is #150。我建议观看它并探索他的代码。显然你的任务是处理jpegs,gif,png或你允许的任何格式。每个都需要单独处理,使用可以处理每种格式的图像处理类。大卫正在使用java.awt.Graphics2D,但您可能希望查看imgscalr,它会尝试处理这三种格式中的每种格式,但似乎get fun with gifs。
[编辑] 正如David Leedy在评论中提到的,值得关注JavaXT的javaxt.io.Image Class(它打算扩展Java的核心)。 [/编辑]
答案 1 :(得分:1)
Eric的答案很好,但仅涵盖服务器端调整大小。也可以调整图像客户端(在将它们发送到服务器之前)。
您需要什么取决于要求:例如如果你有蜂窝网络上的用户,不需要完整的500万像素图像,并希望提高上传速度,你需要客户端调整大小(可能有一些额外的服务器端验证)。对于客户端调整大小,我建议您查看Blueimp的JavaScript Load Image库。他还创建了一个可以做很多事情的multiple file upload小部件,比如在客户端创建多个已调整大小的图像版本并将所有这些版本发送到服务器。