据我所知,我在这里问的是不可能的,但我想无论如何我都会问,以防我遗漏了什么。
假设您想让用户上传 JPG 图片,这些图片被缩放成更小的图标,并且原始图片总是被丢弃,再也不需要了。有没有什么方法可以在大多数现代浏览器中普遍使用,让用户在他们的硬盘上选择一个图像,在本地将其转换为缩略图并将创建的缩略图上传到服务器?
在服务器只需要一张小图片的情况下,继续上传整张图片并立即丢弃它会浪费用户时间和服务器资源。最好只在客户端上扩展它。
我可以想象三种选择。只是简单的 HTML/Javascript,使用 Flash 或使用 Java。如果 Flash 可以做到这一点,那似乎是最好的选择。但是阅读 flash.net.FileReference 文档,似乎您可以从 HD 上传文件,是的,但您无法查看正在上传的文件内部。另一方面,如果在 Flash 发布选项中启用“可以访问本地文件”,则似乎您无法再访问网络,因此不起作用。
使用 HTML/Javascript,可以加载图像并在 <canvas>
上显示它们,但如果您尝试访问这些图像的像素,就会违反安全规定,因此这似乎行不通。
我对使用 Java 犹豫不决,因为只有 96.52% 的用户安装了它,而且我看到用 Java 实现的文件上传对话框(例如在 Facebook)效果不佳(界面无响应)。我想知道是否只有 Java 允许调整本地高清图像的大小?
最佳答案
"If this were possible with Flash, that would seem like the best option."
据我了解,使用 Flash Player 10 是可能的。
这是一个例子:
http://blog.kukiel.net/2009/02/file-manipulation-client-side-with.html
Flash Player 10 目前的总体市场渗透率约为 85-90%,因此,如果您因为只有 96.52% 的用户安装了 Java 而对使用 Java 犹豫不决,我猜您也不会想要安装 Flash Player 10 .
关于java - 上传图片缩略图到服务器,无需上传整张图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1344131/