2014-02-12 39 views
2

我試圖從Android上傳圖片到PHP服務器。Android圖片上傳未獲取到PHP腳本

這是我上傳的代碼:

public static void uploadFile(final String imagePath){ 

    HttpClient httpClient = new DefaultHttpClient(); 
    HttpPost httpPost = new HttpPost(SERVER); 

    try { 
     File imageFile = new File(imagePath); 

     httpClient.getParams().setParameter(CoreProtocolPNames.USER_AGENT, System.getProperty("http.agent")); 

     MultipartEntityBuilder entity = MultipartEntityBuilder.create(); 

     entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 
     entity.addPart("image", new FileBody(imageFile)); 

     httpPost.setEntity(entity.build()); 
     HttpResponse response = httpClient.execute(httpPost); 

     HttpEntity resEntity = response.getEntity(); 

     BufferedReader reader = new BufferedReader(new InputStreamReader(resEntity.getContent(), "UTF-8")); 
     String sResponse; 
     StringBuilder s = new StringBuilder(); 

     while ((sResponse = reader.readLine()) != null) { 
      s = s.append(sResponse); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

這裏是我的處理上傳PHP代碼:

<?php 
    echo "FILES - "; 
    var_dump($_FILES); 
    echo " REQUEST - "; 
    var_dump($_REQUEST); 

    $file_path = "images"; 

    $file_path = $file_path . basename($_FILES['image']['name']); 

    if(move_uploaded_file($_FILES['image']['tmp_name'], $file_path)) { 
     echo "success"; 
    } else{ 
     echo "fail"; 
    } 
?> 

我從頁面得到200級的響應,但是$ _FILES和$ _REQUEST變量都是空的。看起來這個圖像文件沒有寫到腳本中,我不知道爲什麼。根據我找到的所有教程,我正確地做了這件事。

我上傳的圖像〜180KB

任何想法?

回答

0

這是我的服務器的問題。我切換到使用我的服務器的一個不同的子域,現在它完美的工作。