【发布时间】:2013-05-10 02:30:56
【问题描述】:
我正在开发一个允许将图片上传到服务器的 Web 应用程序,但是通过 3g/h 上传图片需要相当长的时间。我想知道是否有某种方法可以在拍摄或上传图像时预压缩它们?
例如,用户以 3g/h 的速度拍照,这取决于相机大约 2 - 3 mb,然后开始上传。这需要一段时间,或者连接在 3g - g - h 或任何开关或下降时中断。浏览器不能很好地接受,图像可能而且将会丢失。
请给点建议。 :)
PS。我说的是跨(移动)浏览器/跨(移动)平台
【问题讨论】:
-
您可以使用canvas标签将图像调整为自定义jpeg质量的jpeg dataURL,然后可以上传。
-
你看过画布吗?桌面上仍然对此有不同的支持,所以恐怕你已经为移动设备完成了工作。
-
我猜你总是可以在调整大小/编码之前将图像绘制到画布上。但问题是,你得到一个 base64 编码的字符串,它实际上需要更多的空间来存储。如果浏览器对响应进行 gzip 压缩,它可以进行比较,但我认为它不会比原始图像的大小更好(比原始图像的大小)只有(难吃?)我能想到的选项是一个运行在移动设备,从而使您可以访问 libjpeg libpng zlib 等。遗憾的是,您和您的访问者居住的网络基础设施是如此糟糕。 :(
标签: php javascript ajax html mobile