2016-09-10 18 views
1

私の問題になる前に、私は用語で作るつもりのエラーをお詫びします。 jQueryと学習の初心者です!ajaxのデータオブジェクトに画像を渡す

私は2つのfileds、テキスト、ファイルタイプのフォームを持っています。

<form method="post" action="" enctype="multipart/form-data"> 
    text <input type='text' id="textf" /><br> 
    images <input type='file' id="imagef" /><br> 
    <button name="submit" type="submit" id="submit">Finish</button> 
</form> 

アップロードされた画像を圧縮してからアップロードする必要があります。 (私はその部分をやった!)。圧縮されたイメージは、フォームの下のページにdataurl(?)として保存されます。

このフォーマット、

<img id="result_image" class="img_container" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD.... "> 

次に、フォームがサブミットされるときに生成された圧縮画像は、元画像に代えてアップロードしなければなりません。

私はjqueryを使用していますが、私の知識の欠如はそのようになっています。ここで私はあなたの助けが必要です、stackoverflow。

私はこれまでのところ得ている、PHPスクリプトのupload.phpから

$(document).ready(function(){ 
    $("#submit").click(function(e){ 
     e.preventDefault(); 

     var formData = { 
      'textf'    : $('#textf').val(), 
      'imagef'    : $('#result_image')[0] 
     }; 

     $.ajax({ 
      type  : 'POST', 
      url   : 'upload.php', 
      data  : formData, 
      dataType : 'json', 
      encode  : true 
     }) 
    }); 
}); 

応答は画像がない、

fweArray 
(
    [textf] => fwe 
) 

です! 私は彼女を間違ってやっていますか? 私は助けていただきありがとうございます。

+2

に圧縮された画像のdata URIを送信するために.src#result_imageの要素を投稿することができますバックエンドPHPを使用しています。 Link:http://stackoverflow.com/a/30367094/2757519 –

+0

@ImmortalDude OPは、FormDataオブジェクトではなく、データをポストするためにプレーンオブジェクトを使用しています – guest271314

+0

@ guest271314申し訳ありませんが、それが明確に見えませんでした、 'FormData'オブジェクト –

答えて

1

あなたは単にテキストとして画像のデータURIを送信し、それを保存し、このためにフォームデータを必要といけないサーバー

var formData = { 
    'textf' : $('#textf').val(), 
    'imagef' : $('#result_image')[0].src 
}; 
関連する問題