Phonegap Android Filetransfer错误代码3

时间:2012-09-27 19:58:44

标签: android cordova upload

我正在研究Android的移动应用程序,它使用Dave Johnson的Facebook Connect插件(https://github.com/davejohnson/phoneg...),Camera和FileTransfer。基本上用户点击拍摄照片的按钮(手机相机启动,用户拍照),然后将此照片上传到服务器。问题是第一次一切都很好,但当我再次点击按钮拍摄第二张照片时,照片无法上传到服务器,返回的错误来自FileTransfer - 错误代码3.

我设置了options.chunkedMode = false;这没有用。

我知道这是一个连接错误,我将我上传图片的域列入/res/xml/cordova.xml文件。我在网上搜索了很多工作解决方案,还有其他人抱怨这个,但没有提供有效的解决方案。我正在使用Cordova 1.8.1(我还测试了1.8.0,1.7.0,1.6.1,1.5.0)。我测试了较新版本的Phonegap,例如1.9.0但无法构建项目 - facebook插件不适用于此版本的Phonegap。我正在使用Emulator Android 4.1(API 16)进行测试。我在查看详细信息时尝试了不同的工作以使其工作,但我无法使其工作。我正在努力寻找解决方案,因为它非常重要,请帮我解决这个问题。提前谢谢你的答案。

2 个答案:

答案 0 :(得分:0)

你可以尝试其中任何一种:

在AndroidManifest.xml文件的标记中设置android:debuggable =“true”。

设置而不仅仅是评论部分中建议的*,如下所示:

<!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
<!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
<!-- <access origin=".*"/> Allow all domains, suggested development use only -->

这; https://stackoverflow.com/a/12011782/610880

答案 1 :(得分:0)

这是phonegap库中一个未修复的错误,因为没有错误修复,我不得不通过我的工作来解决它(基本上每次备用失败都会重新上载):

ft.upload(path,
          encodeURI("http://yourdomain.com/upload.php"),
            function(result) {
                alert("Uploaded");
            },
            function(error) {
        ft.upload(path,
        encodeURI("http://yourdomain.com/upload.php"),
        function(result) {
                alert("Uploaded");                  
        },
        function(error) {
            alert("Error uploading image");
        },
        { fileName: name, fileKey: "file", mimeType: "image/jpeg", chunkedMode: false }, true);     
                },
                { fileName: name, fileKey: "file", mimeType: "image/jpeg", chunkedMode: false }, true);