0

我曾尝试在 phonegap api 中使用 FileTransfer.upload 上传图像。但我收到错误消息。错误是“连接错误”,错误代码是 3。

Here is my code.
<!DOCTYPE html>
<html>
<head>
<title>Video Uploader</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="master.css" type="text/css" />
<script type="text/javascript" charset="utf-8"src="phonegap-1.1.0.js"></script>
<script src="Scripts/jQuery-1.6.1.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>

<script type="text/javascript" charset="utf-8">
 function getphoto(){
   navigator.camera.getPicture(uploadPhoto,function(message) { 
   alert('get picture failed');
   },{   quality:10,destinationType:navigator.camera.DestinationType.FILE_URI,sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY }); 
   }

     function uploadPhoto(imageURI) {   

        document.getElementById("myimg").src=imageURI;

        var options = new FileUploadOptions(); 
        options.chunkedMode  = false;
        options.fileKey="recFile"; 
        var imagefilename = imageURI; 
        options.fileName=imagefilename; 
        options.mimeType="image/jpeg"; 


        var ft = new FileTransfer(); 
        alert(imagefilename);


        ft.upload(imageURI, "http://xxxx.asmx", win, fail, options,true); 
    } 
     function win(r) { 

        alert("Response = " + r.response); 
        alert("Sent = " + r.bytesSent); 
    } 
    function fail(error) { 
     switch (error.code) { 
                case FileTransferError.FILE_NOT_FOUND_ERR: 
                    alert("Photo file not found"); 
                    break; 
                case FileTransferError.INVALID_URL_ERR: 
                    alert("Bad Photo URL"); 
                    break; 
                case FileTransferError.CONNECTION_ERR: 
                    alert("Connection error"); 
                    break; 
            } 

        alert("An error has occurred: Code = " + error.code); 
    } 
   </script>
  </head>
   <body >
   <button onclick="getphoto();">get a Photo</button>
   <button onclick="getphoto();">Upload a Photo</button>
   <img src="" id="myimg" style="border:1px solid #0f0;height:200px;width:200px;" />

   </body>
  </html>

请看到并告诉我解决方案。phonegap api中upload.php的概念是什么

4

1 回答 1

0

您是否尝试上传到另一台服务器?如果上传成功,则问题可能出在您的服务器设置中。我遇到了这个麻烦,开始查看我的 nginx/passenger conf。

编辑

我通过增加nginx 上的client_max_body_size设置解决了这个问题(默认为 1MB)。

此外,您在“ft.upload”(“true”)上的最后一个参数似乎用于 https 请求,因此在这种情况下您应该省略它。

于 2012-06-13T17:15:55.297 回答