2013-05-09 82 views
0

我正在研究一个允许图像上传到服务器的Web应用程序,但图片需要花费一些时间才能通过3g/h进行上传。我想知道是否有某种方法可以预先压缩图片或上传图片?在移动设备上预压缩图像

例如,用户以3g/h的速度拍摄照片(大约2 - 3 mb),然后开始上传。这需要一段时间,或者连接在3g-g-h或任何开关或下降时断开。浏览器没有那么好,图像可能会丢失。

任何建议请。 :)

PS。我正在谈论一个跨(移动)浏览器/跨(移动)平台

+1

您可以使用画布标记将图像大小调整为jpeg dataURL的自定义JPEG质量,然后可以上传。 – dandavis 2013-05-09 16:25:42

+0

你看过画布吗?桌面上仍然有这种混合支持,所以你害怕我的手机停止工作。 – Graham 2013-05-09 16:27:03

+0

我想你可以在调整大小/编码之前将图像绘制到画布上。问题是,你得到一个base64编码的字符串,这实际上需要更多的空间来存储。如果浏览器对回复进行了gzip,它可以是可比较的,但我认为它没有比原始图像更好(仅仅是原始图像的大小)。我能想到的仅仅是(令人难以置信的)选项是运行在本机上的应用程序移动设备,从而使您可以访问libjpeg libpng zlib等等。让网络基础设施非常糟糕,您和您的访问者居住在哪里。 :( – enhzflep 2013-05-09 16:30:14

回答

0

我觉得这已经是answered。您提到使用C#/ C++假设非本机应用程序的跨浏览器/跨平台移动平台。如果您确实在本地开发客户端移动应用程序,则可以访问必要的图像库(GD)来压缩图像(无需调整它们的大小)。