据我所知,我在这里要求的是不可能的,但我想我无论如何都会问我以防万一.
假设您想让用户上传JPG图像,并将这些图像缩放为较小的图标,并始终丢弃原始图像,并且不再需要.有没有什么方法可以在大多数现代浏览器中使用,让用户在硬盘上选择单个图像,将LOCALLY变成缩略图并将创建的缩略图上传到服务器?
在服务器只需要一个小图像的情况下,在用户时间和服务器资源上继续上传整个图像是浪费的,只是立即丢弃它.在客户端上扩展它会好得多.
我可以想象三种选择.只是简单的HTML / Javascript,使用Flash或使用Java.如果这可以用Flash,这似乎是最好的选择.但是阅读flash.net.FileReference文档,似乎你可以从HD上传一个文件,但你无法查看你正在上传的文件.另一方面,如果您在Flash发布选项中启用“可以访问本地文件”,则您似乎无法再访问网络,因此无效.
使用HTML / Javascript,可以加载图像并在< canvas>上显示它们,但如果您尝试访问这些图像的像素,则会出现安全违规,因此似乎无效.
Java我不愿意使用,因为只有96.52%的用户安装了它,而我用Java(例如在Facebook上)实现的文件上传对话框效果不佳(界面反应迟钝).我想知道Java是否是唯一允许从本地HD调整图像大小的东西?
解决方法:
我认为,如果有一个相当可靠和用户友好的方式来实现这一点,它已经在像Facebook这样的网站上完成.人们习惯于上传原始图像…能够改进已有的用户体验总是很好,但如果你只能匹配它,那么你并没有完全失败.
JavaScript已经出局,因为JS无法直接从客户端读取任何内容;它只能指示浏览器加载预定义的本地路径,或从服务器加载字节.
正如您所指出的,Flash的安全沙箱也可以防止这种情况发生.
Java有一系列不同的问题 – 人们现在很少安装applet,除非他们比自己的家庭成员更信任网站.显然,构建可靠和可用的东西显然非常困难,正如Facebook风格的公司所证明的那样,这些公司几乎拥有无限的资源来解决问题但仍然失败.
所以,总而言之 – 不,不要过分担心它.
原文地址:https://codeday.me/bug/20190607/1192468.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。