2013-08-28 20 views
0

我使用的PhoneGap 3.0.0PhoneGap的相机/图片服务器上传,失败,随机对话出现

而且在尝试上传文件到服务器的过程中我得到一对夫妇的事情是意外。第一件事情,一个脚本错误:

Error: SyntaxError: Unexpected token ':' line 624 of phonegap.js

(我认为这是老了很多版本的JS,首先,我只能找到一个在github)

接下来的事情我正在我不明白为什么/如何做到这一点时,我从来没有见过它的其他应用程序..提示是一个小的警告对话框:

enter image description here

当我点击对话框中,多数民众赞成确定,当它试图进行脚本的其余部分,并给我上面的错误。

,我使用上传脚本几乎是基于以信一样的一个在PhoneGap的网站上发现.. http://docs.phonegap.com/en/3.0.0/cordova_file_file.md.html#File

$('#select_photo').on('click', function() 
{ 
    $('#choice_of_file').click(); 
}); 
$('#upload_photo').on('click', function() 
{ 
    if(fmr.nullCheck($('#choice_of_file').val()) == true) 
    { 
     alert('Please Choose a Photo'); 
    } 
    else 
    { 
     uploadPhoto($('#choice_of_file').val()); 
    } 
}); 

// Wait for device API libraries to load 
// 
(function(){document.addEventListener("deviceready", onDeviceReady, false);})(); 

// device APIs are available 
// 
function onDeviceReady() { 
    // Retrieve image file location from specified source 
    navigator.camera.getPicture(
     uploadPhoto, 
     function(message) { alert('get picture failed'); }, 
     { 
      quality   : 50, 
      destinationType : navigator.camera.DestinationType.FILE_URI, 
      sourceType  : navigator.camera.PictureSourceType.PHOTOLIBRARY 
     } 
    ); 
} 

function uploadPhoto(imageURI) { 
    var options = new FileUploadOptions(); 
    options.fileKey="file"; 
    options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); 
    options.mimeType="image/jpeg"; 

    var params = {}; 
    params.value1 = "test"; 
    params.value2 = "param"; 

    options.params = params; 

    var ft = new FileTransfer(); 
    ft.upload(imageURI, encodeURI(domainURL+'upload/wizard/'+MembId), win, fail, options); 
} 

function win(r) { 
    console.log("Code = " + r.responseCode); 
    console.log("Response = " + r.response); 
    console.log("Sent = " + r.bytesSent); 
} 

function fail(error) { 
    alert("An error has occurred: Code = " + error.code); 
    console.log("upload error source " + error.source); 
    console.log("upload error target " + error.target); 
} 

的HTML形式的读书..

<div style="position:absolute;top:-2000px;left:-2000px;background-color:#FFF;z-index:0" id="hide_file_input"> 
    <form enctype="multipart/form-data" id="upload_profile_image" action="#none" method="post"> 
     <input type="file" id="choice_of_file" name="choice_of_file"> 
    </form> 
</div> 

回答

0

的FileKey应该是文件中的字段

options.fileKey="choice_of_file"; 

同样的name属性我如果你可以在执行所有函数之前调用device并将navigator.camera.getPicture放在文件域

+0

的onclick事件中,那么t会更好。总的来说,我试图效仿这个例子。这是他们在文档中提供的脚本,但没有上下文。其目的是为了在推广和定制之前了解它的工作原理,但这并不是说我不会给这个机会;-) – chris

+0

不幸的是我认为......这对我来说没有任何影响。相同的错误和对话框提示。点击我的上传按钮。我可以选择图像或采取一..但在此之后..通过应用程序提交表单时,错误和对话框然后失败.. – chris