2015-11-28 2 views
0

Мне нужно загрузить несколько изображений с моего устройства Android, но я застрял, чтобы подумать, как я могу отправить массив изображений.Как загрузить несколько изображений с помощью Multiparty Entity в Android

так я наконец-то решили положить мой PHP код:

$id=$_REQUEST['id']; 

$tot_img=count($_FILES['uploads']['name']); 
$of_img=''; 
for($i=0;$i<$tot_img;$i++) 
{ 
    if($_FILES['uploads']['name'][$i]!="") 
    { 
     $path=$_SERVER['DOCUMENT_ROOT']."/uploads/offer_img/"; 
     $logo_name=$_FILES['uploads']['name'][$i]; 
     list($name,$ext)=explode('.',$_FILES['uploads']['name'][$i]); 
     $logo_name=$name.$i.date('His').'.'.$ext; 
     $path=$path.$logo_name; 
     move_uploaded_file($_FILES['uploads']['tmp_name'][$i],$path); 
     if($of_img!='') 
     { 
      $of_img=$of_img.','.$logo_name; 
     } 
     else 
     { 
      $of_img=$logo_name; 
     } 

    } 
} 

поэтому, пожалуйста, скажите мне, как я могу передавать изображения.

in Advance Спасибо.

+0

пользователя это - HTTP: // WWW. androidhive.info/2014/12/android-uploading-camera-image-video-to-server-with-progress-bar/ OR http://www.androidhive.info/2012/07/android-loading- изображения из-URL-клиент / – Shane

ответ

2

Я использую следующий код в андроида загружать кратные изображения от андроида

  private void doFileUpload(List<Uri> mDetials){ 
        List<File> mFiles=new ArrayList<>(); 
        for(int i=0;i<mDetials.size();i++){ 
         String mFileLocation=getPath(getApplicationContext(),mDetials.get(i)); 
         File file = new File(mFileLocation); 
         mFiles.add(file); 
        } 
        String urlString = "php_file_link.php"; 
        try { 
         HttpClient client = new DefaultHttpClient(); 
         HttpPost post = new HttpPost(urlString); 
         List<FileBody> mFileBody=new ArrayList<>(); 
         for(int i=0;i<mFiles.size();i++){ 
          FileBody bin1 = new FileBody(mFiles.get(i)); 
          mFileBody.add(bin1); 
         } 
         MultipartEntityBuilder reqEntity = MultipartEntityBuilder.create(); 
         reqEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 
         for(int i=0;i< mFileBody.size();i++){ 
          reqEntity.addPart("uploadedfile"+i,mFileBody.get(i)); 
         } 
         reqEntity.addTextBody("size",""+mDetials.size(), ContentType.TEXT_PLAIN); 
         post.setEntity(reqEntity.build()); 
         HttpResponse response = client.execute(post); 
         HttpEntity resEntity = response.getEntity(); 
         final String response_str = EntityUtils.toString(resEntity); 

         if (resEntity != null) { 
          Log.i("RESPONSE", response_str); 
          dialog.dismiss(); 
          runOnUiThread(new Runnable() { 
           public void run() { 
            try { 
             Toast.makeText(getApplicationContext(), response_str, Toast.LENGTH_LONG).show(); 
            } catch (Exception e) { 
             e.printStackTrace(); 
            } 
           }}); 
         } 
        } catch (Exception ex){ 
         Log.e("Debug", "error: " + ex.getMessage(), ex); 
         dialog.dismiss(); 
        } 
      } 

Я использую следующий код PHP, чтобы загрузить на сервер

$size = $_REQUEST['size']; 
for ($x = 0; $x < $size; $x++) { 
$target_path="../GizboImages/customer_care/"; 
$target_path=$target_path.basename($_FILES["uploadedfile".$x]['name']); 
if(move_uploaded_file($_FILES["uploadedfile".$x]['tmp_name'], $target_path)) ; 
}