ユーザーのコンピューターからサーバーにファイルをアップロードする必要がある Java アプレットがあります。他のライブラリ (com.apache など) を追加できません。そうするための低レベルの方法はありますか。現在、サーバー上に以下を含むphpファイルがあります。
//Sets the target path for the upload.
$target_path = "spelling/";
$_FILES = $_POST;
var_dump($_FILES);
move_uploaded_file($_FILES["tmp_name"], $target_path . $_FILES["name"]);
?>
現在、私の Java プログラムは POST 経由でこの php ファイルにパラメーターを送信しています。次のコードを使用して、これらのパラメーターを POST で送信します。
try {
//Creates a new URL containing the php file that writes files on the ec2.
url = new URL(WEB_ADDRESS + phpFile);
//Opens this connection and allows for the connection to output.
connection = url.openConnection();
connection.setDoOutput(true);
//Creates a new streamwriter based on the output stream of the connection.
OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
//Writes the parameters to the php file on the ec2 server.
wr.write(data);
wr.flush();
//Gets the response from the server.
//Creates a buffered input reader from the input stream of the connection.
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
//Loops through and reads the response. Loops until reaches null line.
while ((line = rd.readLine()) != null) {
//Prints to console.
System.out.println(line);
}
//Closes reader and writer.
wr.close();
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
これはデータの POST では機能しますが、この方法を使用してファイルを送信しようとすると、何も起こりません (サーバーからの応答もファイルのアップロードもありません)。誰かがヒントを持っていれば、私は感謝します:)