我们有一个用js/jquery/HTML5编写的离线web应用程序,它使用本地存储以json格式存储多MB数据,在应用程序使用时可以编辑这些数据。这些数据最终通过ajax上传到我们的服务器。它在iOS和Android设备上都能很好地工作。我们现在希望允许用户在其数据中重复选择一个项目,并拍摄一张照片以便以后与该项目关联。图片会和数据一起上传到我们的服务器上。无论是在拍摄时还是上传时,使用画布元素,图片的大小也将减少到50kb或更小。对于任何给定的上传,它们可能是100张或更多的图片。
我们计划存储对图片的引用,因为这些图片将在以后用于上载。我们现在知道,在浏览器中,如果不使用本地应用程序代码或PhoneGap等框架,当图片存储在iOS相机卷或Android库中时,就无法存储这样的引用或路径。我们可以通过使用输入控件来获取图片的文件名,但是没有完整的路径是没有用的。此外,iOS设备上的所有图像文件名都是“image.jpg”。我们可以使用数据url访问图片的图像数据,但是我们不能可靠地存储它,因为本地存储空间不足以存储json格式的数据和可能的数百个数据url。
所以问题是,有没有一种方法可以使用js/jquery/html5(不是PhoneGap或本地应用程序代码)来拍照,获取对它的引用,以便以后使用canvas元素调整大小,然后通过ajax上传?

最佳答案

如果你想知道是否有办法在客户端使用画布将图像大小调整到50kb,那么有办法。
这是链接:http://blog.liip.ch/archive/2013/05/28/resizing-images-with-javascript.html
这里有一个DEMO
这里是CODE
我已经测试过了,非常好。
警察局。我不喜欢这段代码如何调整图像的大小,我用另一种算法更改了它,如果您需要的话,请告诉我
现在,我正在寻找一种方法,当移动设备使用相机拍照并上传时,可以收听事件。因为它们会自动向左旋转90级。

10-08 09:09
查看更多