Мне нужно загрузить файл с Java-клиента, работающего в моей системе, на веб-сервер (хостинг Yahoo) с помощью PHP-скрипта. У меня есть Java-код и PHP-код следующим образом. Java-программа не показывает никаких ошибок и успешно работает, но текстовый файл не загружается на веб-сервер. Пожалуйста, помогите и предложите необходимые изменения.
javaClient.java
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class javaClient {
public static void main(String[] args) throws Exception {
HttpURLConnection httpUrlConnection = (HttpURLConnection) new URL("http://www.xyzAbc.com/project_files/upload.php").openConnection();
httpUrlConnection.setDoOutput(true);
httpUrlConnection.setRequestMethod("POST");
File myFile = new File ("/Users/pp/Documents/client_file.pdf");
byte [] mybytearray = new byte [(int)myFile.length()];
FileInputStream fis = new FileInputStream(myFile);
OutputStream os = httpUrlConnection.getOutputStream();
BufferedInputStream bis= new BufferedInputStream(fis);
bis.read(mybytearray,0,mybytearray.length);
System.out.println("Sending the file of size:"+ mybytearray.length + " bytes");
os.write(mybytearray,0,mybytearray.length);
System.out.println("File sent.");
BufferedReader in = new BufferedReader(new InputStreamReader(httpUrlConnection.getInputStream()));
String s = null;
while ((s = in.readLine()) != null) {
System.out.println(s);
}
os.flush();
bis.close();
os.close();
fis.close();
in.close();
}
}
upload.php
<?php
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name'])." has been uploaded";
}
else{
echo "There was an error uploading the file, please try again!";
}
?>
<?php
echo $_POST["name"];
echo $_POST["address"];
$img = $_FILES['img'];
if ($img){
$dir = dirname('File directory');
$i = 0;
foreach ($img['tmp_name'] as $value){
$filename = $img['name'][$i];
if ($value){
$savepath="$filename";
$state = move_uploaded_file($value, $savepath);
if($state){
echo $filename." Successfully Uploaded.";
}
}
$i++;
Других решений пока нет …