2016-04-01 51 views
0

ローカルホストサーバーにいくつかのmp3ファイルをアップロードしたいが、どこが間違っているのかわからない。しかし、それは - 私はオンラインこのコードを持って、私の目的のためにそれを修正ファイルをサーバーにアップロードする

public class UploadFile extends Activity { 
    int serverResponseCode = 0; 
    String serverResponseMessage; 
    String uploadFileName; 
    String uploadFilePath; 
    String upLoadServerUri = null; 
    ProgressBar loading; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.uploads); 
     uploadFilePath = "/storage/emulated/0/"; 
     uploadFileName = "sample.txt"; 

     upLoadServerUri = "http://10.0.3.2/files/uploadfile.php"; 
     new Thread(new Runnable() { 

      public void run() { 
       uploadFile(uploadFilePath + "" + uploadFileName); 
      } 
     }).start(); 
    } 

    public void uploadFile(String sourceFileUri) { 
     String fileName = sourceFileUri; 
     HttpURLConnection conn = null; 
     DataOutputStream dos = null; 
     String lineEnd = "\r\n"; 
     String twoHyphens = "--"; 
     String boundary = "*****"; 
     int code; 

     int bytesRead, bytesAvailable, bufferSize; 
     byte[] buffer; 
     int maxBufferSize = 1 * 1024 * 1024; 

     File sourceFile = new File(sourceFileUri); 

     if (!sourceFile.isFile()) { 
      code = 0; 
      this.runOnUiThread(new Runnable() { 
       public void run() { 

       } 
      }); 
     } 
     else { 
      try { 
       FileInputStream fileInputStream = new FileInputStream(sourceFile); 
       URL url = new URL(upLoadServerUri); 

       conn = (HttpURLConnection) url.openConnection(); 
       conn.setDoInput(true); // Allow Inputs 
       conn.setDoOutput(true); // Allow Outputs 

       conn.setUseCaches(false); // Don't use a Cached Copy 
       conn.setRequestMethod("POST"); 
       conn.setRequestProperty("Connection", "Keep-Alive"); 
       conn.setRequestProperty("ENCTYPE", "multipart/form-data"); 
       conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); 
       conn.setRequestProperty("uploaded_file", fileName); 
       dos = new DataOutputStream(conn.getOutputStream()); 
       dos.writeBytes(twoHyphens + boundary + lineEnd); 
       dos.writeBytes("Content-Disposition: form-data; name='uploaded_file';filename='"+fileName+"'"+lineEnd); 
       dos.writeBytes(lineEnd); 
       bytesAvailable = fileInputStream.available(); 
       bufferSize = Math.min(bytesAvailable, maxBufferSize); 
       buffer = new byte[bufferSize]; 
       bytesRead = fileInputStream.read(buffer, 0, bufferSize); 
       while (bytesRead > 0) { 
        dos.write(buffer, 0, bufferSize); 
        bytesAvailable = fileInputStream.available(); 
        bufferSize = Math.min(bytesAvailable, maxBufferSize); 
        bytesRead = fileInputStream.read(buffer, 0, bufferSize); 
       } 

       dos.writeBytes(lineEnd); 
       dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); 
       serverResponseCode = conn.getResponseCode(); 
       code = serverResponseCode; 
       if (code==200) { 
        this.runOnUiThread(new Runnable() { 
         public void run() { 

         } 
        }); 
       } 
       else { 
        this.runOnUiThread(new Runnable() { 
         public void run() { 

         } 
        }); 
       } 
       serverResponseMessage = conn.getResponseMessage(); 
       fileInputStream.close(); 
       dos.flush(); 
       dos.close(); 
      } 
      catch (MalformedURLException ex) { 
       this.runOnUiThread(new Runnable() { 
        public void run() { 

        } 
       }); 
      } 
      catch (Exception e) { 
       this.runOnUiThread(new Runnable() { 
        public void run() { 

        } 
       }); 
      } 
     } 
    } 
} 

:私はそれがphpファイルだと思いますが、ここで私のphpファイルです:これは私のjavaコードです

<?php 
    $file_path = "/storage/emulated/0/sample.txt"; 
    $file_path = $file_path . basename($_FILES['uploaded_file']['name']); 
    if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) { 
     echo "success"; 
    } else{ 
     echo "fail"; 
    } 
?> 

作業が、私は述べたように、それはすべてのヘルプは本当に多くのことを意味します

phpファイルかもしれない

を(でもこれの修正は私が食べて、適切に眠るようになります)

ありがとう

+0

実際には何も起こっていないと言ってください。あなたはその問題を解決しようとしましたか?あなたはそれをしたとき何が起こったのですか? –

+0

phpファイルです。私は何もしていないと思う。どのように私はPHPファイルでファイルを送信するのですか? – Sandezonpr

+0

***私たちはマジシャンではありません!***あなたのコードに何が間違っているかは分かりません。まず、あなたのコードのほとんどをコメントアウトして、あなたのサーバに 'ping'を実行して応答があるかどうかを確認してください。その後、ファイルのアップロードまであなたの方法を働かせます。 –

答えて

0

あなたのコードを以下のPHPコードで変更してください。

<?php 
$file_path = "uploads/"; 
    $file_path = $file_path . basename($_FILES['uploaded_file']['name']); 
    if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) { 
     echo "success"; 
    } else{ 
     echo "fail"; 
    } 
?> 

私はそれは私があなたのPHPスクリプトは、成功と失敗を取得するには、出力JSONに設定し、このためにJSONパーサーを使用してみてくださいだと思う完璧

+0

こんにちは、ローカルホストサーバーのaboutsは保存されたファイルですか?どのディレクトリのように? – Sandezonpr

+0

申し訳ありません、あなたのPHPコードディレクトリのアップロードフォルダに今更新されました。 –

0

を働くテストしています。 JavaコードからWebサービスへのイメージファイル名の文字列を解析して、操作を実行する必要があります。 $ _GETを使用してJavaコードからファイルを取得することもできます

関連する問題