2012-03-16 7 views
0

ここに私のjavascriptのphonegapコード、そして 私はchunckedMode = trueの小さなファイルをアップロードしようとすると、エラーハンドラのft.uploadリダイレクト。私は本当に問題の原因を理解していません。PhoneGap chunckedMode trueアップロードエラー

function uploadFile() { 

    function uploadSuccess(success) 
    { 
    alert('good'); 
    //alert(JSON.stringify(success.response)); 
    } 

    function uploadError(error) 
    { 
    alert('error'); 
    alert(error.response); 
    } 

    var options = new FileUploadOptions(); 
    options.fileKey="document"; 
    options.fileName=file.substr(file.lastIndexOf('/')+1); 
    options.mimeType="application/octet-stream"; 

    var params = new Object(); 
    params.value1 = "test"; 
    params.value2 = "param"; 

    options.params = params; 
    options.chunkedMode = true; 

    var ft = new FileTransfer(); 

    ft.upload(file, "http://myserver/file.php", uploadSuccess, uploadError, options); 
    alert('after up'); 
} 
+0

あなたのJSの投稿は完全に間違っているように見えます。これはあなたのアプリに実際にはありますか?成功関数とエラー関数は、アップロード関数内にあります。あなたはどこから "ファイル"を入手していますか? uploadFileメソッドに渡されるパラメータはありません。 – codemonkey

+0

ファイルはファイルvarにあり、他の機能で設定されています。 私のアプリでは、chunkedModeがfalseに設定されているときに画像を送信するのに問題はありません(アップロード機能内でuploadSuccess関数を呼び出しても問題はありませんがエラーは発生しません)。コード)、それはuploadError関数を受け取ります... – Yeppao

+0

あなたのサーバーコードに問題がありますか?私はchunkedModeを既定値(true)として残してファイルアップロードを使用していましたが、問題は一度もありませんでした。 – codemonkey

答えて

1

私はようやく私の問題を解決しました:

ステップ1:

ダウンロードnginxのChunkinモジュール: https://github.com/agentzh/chunkin-nginx-module

ステップ2:と

再構成nginxのを - -add-module = /モジュール/

再インストールして、それへの/パス/ ..

ステップ3:バーチャルホストの設定ファイルに

ゴー(括弧内のコード)にこれを追加します。

server { 
     chunkin on; 

     error_page 411 = @my_411_error; 
     location @my_411_error { 
      chunkin_resume; 
     } 

     ... 
     } 

これで、nginxサーバーがチャンクモードのファイル転送を受け入れるようになりました。

関連する問題