- ベストアンサー
<form>でアップロードする画像を表示させたい
<form>でユーザーの名前や顔写真を入力してもらってサーバーに送るルーチンを作っています。ユーザーがアップロードしたい自分の写真を選んだときに、確認のためにその写真を表示させたくて、下のようなコードを書きましたが、写真が表示されません。 いろいろやっていて、<input type="file">を参照したときに戻される値は、写真のフルパスではなくて最後のファイル名だけだとわかりましたが、これをフルパスのURLで取得する方法はないでしょうか? <script type="text/javascript" language="javascript"> function dispGazo(){ document.getElementById("kao").src="'"+document.getElementById("userGazo").value+"'"; } function checkInput(){ if( document.forms[0].userName.value == ""){ alert("お名前は必ず入力してください。"); return; } } </script> . . . . <form enctype="multipart/form-data" accept-charset="UTF-8" method="post" action="QAtouroku.php" onsubmit="checkInput();"> <table border="1" width=80%> <tr><td>お名前:<input type="text" name="userName" size=30> </td></tr> <tr><td>お写真:<input type="file" name="userGazo" id="userGazo" size=80 value="右のボタンを押して、登録する画像ファイルを探します。" onchange="dispGazo();"></td> </tr> <tr><td><img id="kao" width=100 alt="写真" ></td></tr> . . . </table> </form> どうかよろしくお願いします。 papashiro
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ローカルPC上にあるファイルを操作できたら、かなりヤバイですよ。 なんでもし放題になります。 JavaScriptではローカルPC上にあるファイルを直接操作することはできません。 擬似的に画面遷移をさせたくないのであれば、AJAXなどで裏方で実際にsubmitさせてから画面表示させることであれば可能かと思います。
その他の回答 (1)
- kichiwave
- ベストアンサー率41% (10/24)
ローカルのファイルを参照することになるので javascriptだけだとセキュリティ上できないはずです なので一度アップロードしたファイルをサーバ側で受け取って サーバ側のファイルとして表示させる処理が必要になります。
お礼
ご回答ありがとうございました。 基本的なセキュリティーのことがわかってなかったようで、お恥ずかしい限りです。 papashiro
お礼
ご回答ありがとうございました。 基本的なセキュリティーのことがわかってなかったようで、お恥ずかしい限りです。 papashiro