我如何在Android中使用多方实体上传多张图片 [英] how do i upload multiple images using Multiparty Entity in Android
本文介绍了我如何在Android中使用多方实体上传多张图片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须从我的Android设备上传多张图片,但我坚持认为我如何发送图像的数组。
i have to upload multiple images from my android device but i was stuck to thinks how do i send array of images.
所以我最终决定把我的PHP code:
so i have finally decided put my PHP code:
$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;
}
}
}
所以请告诉我,我怎么能发送图像。
so please tell me how i can send images.
提前谢谢你。
推荐答案
我使用android系统下code的倍数图片来自安卓上传
I use the following code in android to upload the multiples images from android
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 code到服务器上上传
I use the following php code to upload on server
$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)) ;
}
这篇关于我如何在Android中使用多方实体上传多张图片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文