- - PR -
JavaからPHPへのデータ送信方法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-06 13:48
はじめまして。
まだJavaをはじめて2ヶ月程度の学生です。 現在、Javaアプレットからイメージデータを送信し、PHP側で受信、保存というプログラムをつくろうとしています。 しかし、うまくJavaアプレットからPHPを起動させることが出来ず、行き詰まっています。 似たような質問が、 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=11595 にあったのですが、よく分からなかったため、書き込ませていただきました。 現在は以下のようなソースを書いています。 BufferdImage bi; try{ Iterator writers=ImageIO.getImageWritersByFormatName("jpeg"); ImageWriter writer=(ImageWriter)writers.next(); URL url=new URL("http://sample.ne.jp/imagesave.php"); HttpConnection urlc=(HttpURLConnection)url.openConnection(); urlc.setRequestMethod("POST"); OutputStream os=urlc.getOutPutStream(); InputStream is=urlc.getInputStream(); ImageOutputStream ios=ImageIO.createImageOutputStream(os); writer.setOutput(); Writer.write(bi); ios.close(); is.close(); } catch(Exception e){ return false; } return true; エラーは出ませんが、PHPが呼び出された形跡がありません。 どなたか、分かる方がおられましたら、アドバイスしていただければと思います。 よろしくお願いします。 | ||||
|
投稿日時: 2004-09-06 14:24
ゆうさん、こんにちは。
URLConnectionで POSTするときは、 1.setDoOutput()を行い、 2.出力したあと、 3.出力を flush()し、出力のみ close 4.サーバからの応答を受信し 5.入力を close します。(だったと思います。今詳しく確かめる時間ないので 曖昧で申し訳けありません。) # 私の説明 HttpURLConnectionの例でないですが。 # setOutputの引数漏れは、単なるタイプミスですね。 [ メッセージ編集済み 編集者: Kissinger 編集日時 2004-09-06 14:27 ] | ||||
|
投稿日時: 2004-09-06 16:27
返信ありがとうございます。
ご指摘のとおりやってみたところ、 PHPを起動させることができました。 ただ、データはうまく読み取れてないようです。 PHP側では単に、 バイナリモードで読み込み、バイナリモードで書き込むという処理しかやっていません。 受信側の問題ということも考えられますが、 送信側に考えられる可能性としては、どのようなものがあるのでしょうか? | ||||
|
投稿日時: 2004-09-06 17:28
自己解決しました。
どうやら、データを送るためには、 1.OutputStreamを開く 2.出力する 3.InputStreamを開く 4.出力をflush()する 5.出力をclose()する 6.サーバからの応答を受信 7.入力をclose()する という順番で行えば良いようです。 順番を変えたら成功したというのが少しショックでした(笑 |
1