アプリ版:「スタンプのみでお礼する」機能のリリースについて

javascript部分
function loadDataFile(intvalue){
 new Ajax.Request("uploader.php",{
  method:'post',
  onComplete:function(httpObj){
   test(intvalue);
  }
 });
}

function test(intvalue){
 // 画像表示のための処理
}


htmlのform部分
<form action="sample.php" method="post" name="syouhintouroku" enctype="multipart/form-data">
 <input type="file" id="img_path1" name="img1" value="" />
 <input type="button" value="画像を確認" onclick="loadDataFile(引数);" />
</form>


今は、ざっとこのような感じで書いています。
「画像を確認」ボタンが押されると画像がアップロードされるようにしたいのですが画像が送られていません。
ちなみに、uploader.phpというのはPOST送信されてきたファイルをサーバー側のファイルに保存する処理をしています。通常のformのsubmitでは画像はちゃんとアップロードされるのでPHPファイルのほうに問題はないと思われます。

もしかして、Ajax.Requestでは画像が送れないとか書き方が違うとかいうことなんでしょうか?

よろしくお願いします。

A 回答 (1件)

セキュリティ上の問題から、フォームに入力したファイルの


データをJavaScriptからは操作できないようになっているため、
Ajax でファイルを送信することはできません。

ページ遷移なしにファイルのアップロードをしたい場合は、
iframeを使って、隠しフレームを作っておき、
フォームの target をそのフレームに設定しておく、
と言う方法が楽かと思います。

PHPではありませんが、原理については
http://rubyist.g.hatena.ne.jp/yamaz/20060908
このページなんかが参考になるかと思います。
    • good
    • 0
この回答へのお礼

お礼が遅くなっていしまい、すみませんでした。

やはり、ファイルは送れませんか。
回答ありがとうございました。

お礼日時:2010/01/10 14:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!