2010-12-30 16 views
3

私は自分のサーバにアップロードしたい画像がほとんどありません。クライアント側はJavaで書かれており、私は画像をアップロードするためにHTTP Postリクエストを作成します。 http投稿要求を処理するためにサーバーサイドコードを記述する必要がありますか?もしそうなら、どこで例を見つけることができますか?サーバーはPHPとTomcatをサポートしています。画像をサーバにアップロード

+0

PHPリファレンス:http://php.net/manual/en/features.file-upload.phpあなたのクラスパスにこのライブラリを含めたくない場合は、ここでcopy()メソッドのソースコードですあなたはあなたのアップロードに何をしようとしているのか、どのような種類の認証が必要なのかを言っているわけではありません。 –

+1

これは役立ちますhttp://stackoverflow.com/questions/1067655/how -to-upload-a-file-using-java-httpclient-library-working-with-php-strange-pro –

+0

@pekka私はAndroidアプリを持っており、ユーザーの画像をサーバーにアップロードしているので、それらはオンラインです。すべての画像はパブリックフォルダに保存されます。サーバーは現時点では認証の背後にはありません。 – Raunak

答えて

1

javaで実装するのは非常に簡単です。 HTTPリクエストから取得した入力ストリームから読み込み、ファイル出力ストリームに書き込むdoPost()メソッドをオーバーライドするHTTPサーブレットを実装する必要があります。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
    InputStream in = req.getInputStream(); 
    OutputStream out = new FileOutputStream("myfile.jpg"); 
    IOUtils.copy(in, out); 
    out.flush(); 
    out.close(); 
} 

IOUtilsは、jakartaコモンズからのユーティリティコールです。

protected static long copy(InputStream input, OutputStream output) 
     throws IOException { 
    byte[] buffer = new byte[4096]; 
    long count = 0L; 
    int n = 0; 
    while (-1 != (n = input.read(buffer))) { 
     output.write(buffer, 0, n); 
     count += n; 
    } 
    return count; 
}