0

ファイルを PHP サーバーに送信するアプリを作成しています。これが私のコードです:

    InputStream is = new FileInputStream(file);
    HttpClient httpClient = new DefaultHttpClient();
    HttpPost postRequest = new HttpPost("http://majkelsoftgames.cba.pl/ser/server.php");

    byte[] data = IOUtils.toByteArray(is);
    InputStreamBody isb= new InputStreamBody(new ByteArrayInputStream(data), "file");

    MultipartEntity multipartContent = new MultipartEntity();
    multipartContent.addPart("file", isb);

    postRequest.setEntity(multipartContent);
    HttpResponse response = httpClient.execute(postRequest);

私の問題は、PHP の経験がなく、PHP 側でこのファイルを取得する方法がわからないことです。私はいくつかのコードを見つけました:

<?php
    $target_path  = "./";
    $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側でうまくいく方法を説明できますか?

4

2 に答える 2

2

問題はここにあると思います:

InputStreamBody isb= new InputStreamBody(new ByteArrayInputStream(data), "file");

これは「ファイル」という名前のデータを送信していますが、

$_FILES['uploadedfile']['name']

「uploadedfile」という名前のファイルを見つけようとしています。それらが一致していることを確認してください。

于 2012-07-12T21:17:29.640 に答える
1
iF YOU WANT TO UPLOAD .pdf FILE TO LOCAL SERVER THEN USE THIS SIMPLE METHOD, Lets we are doing code here under Button Click Event...

if (isset($_POST['submit']))
{

if ( ($_FILES["file"]["type"] =="application/pdf"))
 { 

 if (file_exists("C:/xampplite/htdocs/site/upload/" . $_FILES["file"]["name"]))

    echo " This File is already exists in folder";

else
{
  move_uploaded_file ($_FILES["file"]["tmp_name"],"C:/xampplite/htdocs/site/upload/" . $_FILES["file"]["name"]);      
  echo "File have been Stored in:-C:/xampplite/htdocs/site/upload/ "  . $_FILES["file"]["name"];

  }
}

}//end of click_event
于 2013-01-07T07:12:35.080 に答える