2013-08-28 26 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