0

次のJavaScriptコードを使用して、サーブレットを介してHTML5キャンバスbase64画像をアップロードしています

function saveDataURL(a) {
    var postData = "canvasData="+a;
    var ajax = new XMLHttpRequest();
    ajax.open("POST",'uploadPhoto.cgi',true);
    ajax.send(postData);    }

しかし、サーバー上でrequest.getAttribute( "canvasData")が表示されると、デバッグする場合でもnull値が返されます。javaコードのリクエストでnullが表示されます。Javaでどのコードを書くべきか、Base64リクエストをデコードしようとしましたが、リクエスト自体にはコードに関するヘルプが何も含まれていないため、チュートリアルは非常に高く評価されています

4

1 に答える 1

2

urlエンコーディングとは別に、コンテンツタイプをに設定しますapplication/x-www-form-urlencoded

function saveDataURL(a) {
    var postData = "canvasData="+encodeURIComponent(a);
    var ajax = new XMLHttpRequest();
    ajax.open("POST",'uploadPhoto.cgi',true);
    ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    ajax.send(postData);    
}
于 2012-08-07T20:33:25.883 に答える