2013-02-10 42 views
1

这是我在StackOverflow上的第一个问题,所以请温柔! :)可以通过javascript上传Cordova文件吗?

我使用科尔多瓦(2.4.0rc1)上传相机图片到亚马逊。我找到了一个不错的上传器s3_direct_uploader(s3_direct_uploader 0.0.8),并将它与我的Rails服务器结合起来。现在我试图对我的基于科尔多瓦的“浏览器 - 相机”做同样的事情。

我可以让相机拍摄一张照片,然后可以获取生成的文件URI,然后调用fileEntry.file(),这会让我看起来像一个File对象(但实际上只是一个类型的对象目的)。

当我尝试将类似文件的对象传递给S3 direct uploader时,我得到了上传到Amazon的正确字节数,但Amazon上的实际文件只是文本“[object Object]”。

我可以在这个方向继续吗?我可以欺骗WebView创建指向实际图片的真实文件对象吗? (注意:出于内存的原因,我不想将图片加载到内存中,然后创建一个Blob。)或者我必须弄清楚如何将Cordova的文件上传器转换为CORS到亚马逊?

在此先感谢您的答案和建议,以了解如何改进我的问题。

回答

0

没有办法欺骗WebView创建指向实际图片的真实文件对象。这显然是一个安全功能。

取而代之,我最终使用Cordova的文件上传机制使用s3_direct_uploader提供的标头信息将文件传输到Amazon。这是最好的方向。