HttpURLConnectionで画像を書き込もうとしています。URLConnectionを介した画像の書き込み
私はテキストを書く方法を知っているが、私は画像
を書くこと をしようと本当の問題が生じています、私はImageIOでを使用して、ローカルHDへの書き込みに成功している:
しかし、私はしてイメージを記述しようとしていますURL上のImageIOとは
URL url = new URL(uploadURL);
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Content-Type", "multipart/form-data;
boundary=" + boundary);
output = new DataOutputStream(connection.getOutputStream());
output.writeBytes("--" + boundary + "\r\n");
output.writeBytes("Content-Disposition: form-data; name=\"" + FIELD_NAME + "\";
filename=\"" + fileName + "\"\r\n");
output.writeBytes("Content-Type: " + dataMimeType + "\r\n");
output.writeBytes("Content-Transfer-Encoding: binary\r\n\r\n");
ImageIO.write(image, imageType, output);
uploadURLは、コンテンツディスポジション」で指定したファイル名で画像をアップロードするサーバー上のASPページのURLです失敗:一部
これを送信すると、aspページがリクエストを見つけ、ファイルの名前を見つけます。アップロードするファイルは見つかりません。
問題は、URLにImageIOにで書くとき何ImageIOには書き込みされているファイル、
の名前はそうImageIOには、URLConnectionの上の画像を書きますか私を助けてくださいますし、どのように私は知ることができるということです私はあなたがio.flush()
を呼ぶべきであると信じているこのポスト ディリップAgarwalさん
実際に私はクライアントサイドのアプレットを使用しているので、クライアントのファイルシステムにアクセスすることはできません。また、ImageIOの助けを借りてチャートのイメージを作成する必要があります。それはファイルシステム上で書いている間に働く)。だからImageIOから直接URLConnectionに書き込む必要があります。その理由は、ImageIOがイメージコンテンツをURLConnection上のイメージファイルとして書き込む方法と、そのイメージファイルの名前を設定したり、そのイメージファイルの名前を知る方法を質問している理由です。 –
'con.setDoOutput(true);' implies ' con.setRequestMethod( "POST"); 'また、 'OutputStream out = con.getOutputStream();'と 'con.getOutputStream();'をもう一度呼び出します。また、 'out.close();'は 'out.flush();'を呼び出します(そしてfinallyブロック内にあるはずです)。あなたの担当者には、より洗練されたコードを書くべきです –
"接続は実際にはgetInputStream()が呼び出されたときにのみ確立されます。" - >そうではありません - ドキュメントへのリンクを提供できますか? –