ホームページ > Java > &#&チュートリアル > HttpClient を使用して Java から PHP サーバーにファイルをアップロードする方法

HttpClient を使用して Java から PHP サーバーにファイルをアップロードする方法

Barbara Streisand
リリース: 2024-12-07 20:09:12
オリジナル
430 人が閲覧しました

How to Upload a File from Java to a PHP Server Using HttpClient?

HttpClient ライブラリを使用して Java から PHP サーバーにファイルをアップロードする方法

このガイドでは、ファイルをアップロードする方法について説明します。 Jakarta HttpClient ライブラリ バージョン 4.0 を使用して、Java アプリケーションから PHP を実行している Apache サーバーにファイルを送信します。 beta2.

Java コード

以下の Java コードは、HttpClient ライブラリを使用してファイルをアップロードする方法を示しています。

import java.io.File;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.FileEntity;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.ContentBody;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.util.EntityUtils;


public class PostFile {
  public static void main(String[] args) throws Exception {
    HttpClient httpclient = new DefaultHttpClient();
    httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);

    HttpPost httppost = new HttpPost("http://localhost:9001/upload.php");
    File file = new File("c:/TRASH/zaba_1.jpg");

    MultipartEntity mpEntity = new MultipartEntity();
    ContentBody cbFile = new FileBody(file, "image/jpeg");
    mpEntity.addPart("userfile", cbFile);


    httppost.setEntity(mpEntity);
    System.out.println("executing request " + httppost.getRequestLine());
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity resEntity = response.getEntity();

    System.out.println(response.getStatusLine());
    if (resEntity != null) {
      System.out.println(EntityUtils.toString(resEntity));
    }
    if (resEntity != null) {
      resEntity.consumeContent();
    }

    httpclient.getConnectionManager().shutdown();
  }
}
ログイン後にコピー

PHPコード

サーバー側の PHP コードが担当しますアップロードされたファイルの処理:

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
  echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n";
  move_uploaded_file ($_FILES['userfile'] ['tmp_name'], $_FILES['userfile'] ['name']);
} else {
  echo "Possible file upload attack: ";
  echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
  print_r($_FILES);
}
ログイン後にコピー

トラブルシューティング

ファイルが正常にアップロードされない場合は、次のことを確認してください:

  • ファイルはサーバーが処理できるほど大きすぎません。
  • HTTP リクエストは正しい形式で送信されています。コンテンツ タイプ (「image/jpeg」など)。
  • PHP コードはアップロードされたファイルを正しく処理しています。

以上がHttpClient を使用して Java から PHP サーバーにファイルをアップロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート