Javaを使用して、アプリケーションからリモートサーバー(httpなしのftp)に画像とtxtファイルをアップロードする必要があります。私のアプリケーションはjsfフレームワークにあります。検索しましたが、適切なものが見つかりませんでした。誰かが私を導くことができますか?実際、リモートサーバーの特別なフォルダにファイルをアップロードする必要があります。ファイルをアップロードするための共有パスを持つ2つのアプリケーションがあるので、これらのファイルにアクセスするために、共有ファイル(画像やテキストなど)を3番目のサーバーにアップロードすることにしました。最初のアプリケーションはこのリモートサーバーにファイルをアップロードし、2番目のアプリケーションはそこからファイルを読み取る必要があります。したがって、このソリューションの私の難しい部分は、httpを使用してこの3番目のサーバー(実際にはリモートサーバー)にファイルをアップロードすることです。
ファイルを特定のフォルダーにアップロードするには、サーバーAPIがそれをサポートしている必要があります。
アップロードされたファイルを受信するためのサーバー側では、 http://commons.Apache.org/fileupload/ を使用できます。
ファイルアップロードリクエストを送信するためのクライアント側では、 https://hc.Apache.org/httpcomponents-client-ga/index.html を使用できます。
Apacheを見てください commons-fileupload 。サンプルコードを見つけることができます ここ 。
次のコードを使用します。
byte[] data = bos.toByteArray();//convert ur file into byte[]
HttpClient httpClient = new DefaultHttpClient();//Client
HttpPost postRequest = new HttpPost(YOUR_SERVER_URL);//Post Request to specified URL
ByteArrayBody bab = new ByteArrayBody(data, "a.txt");
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);// Multipart data
reqEntity.addPart("uploadingFile", bab); //adding data to request entity
postRequest.setEntity(reqEntity);//adding request entity to post request
HttpResponse response = httpClient.execute(postRequest);
要件に応じて、複数の画像とテキストファイルを送信する必要があります。したがって、HTTPマルチパートファイルのアップロードが適切なソリューションのようです。これについての詳細は ここ から入手できます。
HttpClientを使用できます。
メソッドとしてPOST
を使用してファイルを送信します。