1

前段时间我创建了一个基于 PhoneGap 的网络应用程序。

由于现在可以在 iOS 6 上使用输入类型文件,因此我也想使用它和本机 File API,但继续使用 PhoneGap 以便能够将应用程序放入 Appstore。

顺便说一句:我找到了这个链接,但这不起作用:每次我访问文件功能时,我都会从 PhoneGap 收到一个错误,它基本上什么都不做。

更新:

事实上,获取文件(图像)并将其发送到服务器工作正常,但在此之前我想使用canvasResize调整图像大小(以减小文件大小) 。调用函数 reader.readAsDataURL(file) 时,出现以下错误:

-[CDVJKDictionary pathExtension]: unrecognized selector sent to instance 0x208892b0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CDVJKDictionary pathExtension]: unrecognized selector sent to instance 0x208892b0'

更新 2:

这是我使用的相关代码:

var reader = new FileReader();
var fileInput = document.getElementById('ideaCommitFileInput');
var file = fileInput.files[0];
reader.readAsDataURL(file);
4

1 回答 1

0

如果您要在 iOS 和 Android 上部署 PhoneGap 应用程序,我建议您为 iOS 6 设备以及navigation.cameraAndroid 和更早版本的 iOS 设备使用常规文件输入字段,假设您正在处理图像上传。

只要您的应用程序具有足够的“本机功能”,我怀疑 Apple App review 会介意您使用 HTML5 File API。

这是使用 File API 检索 Base64 编码图像字符串的一个很好的示例:Phonegap encode image base64

希望这可以帮助。

于 2013-01-11T23:04:59.817 回答