国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android將圖片上傳到php服務(wù)器的實例代碼

2019-12-12 02:23:00
字體:
供稿:網(wǎng)友

layout中很普通,就是兩個button和一個ImageView

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  >  <Button    android:id="@+id/test"    android:layout_width="368dp"    android:layout_height="wrap_content"    android:text="button1"    android:textAllCaps="false" />  <Button    android:id="@+id/test2"    android:layout_width="368dp"    android:layout_height="wrap_content"    android:text="button2"    android:textAllCaps="false"    />  <ImageView    android:id="@+id/image"    android:layout_width="0dp"    android:layout_height="495dp"    /></LinearLayout>

在主頁面中給按鈕添加事件:

package success.xiaoyu.okhttp3;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageView;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.util.concurrent.TimeUnit;import okhttp3.Call;import okhttp3.Callback;import okhttp3.MediaType;import okhttp3.MultipartBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;public class MainActivity extends AppCompatActivity {  private Button button1,button2;  private ImageView imageView;  private Handler handler = new Handler(){    public void handleMessage(Message msg) {      Bitmap bitmap = (Bitmap)msg.obj;      imageView.setImageBitmap(bitmap);      //Toast.makeText(MainActivity.this, Environment.getExternalStorageDirectory()+"",Toast.LENGTH_LONG).show();    }  };  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.layout);    button1 = (Button)findViewById(R.id.test);    button2 = (Button)findViewById(R.id.test2);    imageView = (ImageView)findViewById(R.id.image);    button1.setOnClickListener(new View.OnClickListener() {//將服務(wù)器的圖片讀取到本地      public void onClick(View view) {        OkHttpClient okHttpClient = new OkHttpClient();        Request request = new Request.Builder()                .url("http://115.159.217.226/xy.png")                 .build();        okHttpClient.newCall(request).enqueue(new Callback() {          public void onFailure(Call call, IOException e) {          }          public void onResponse(Call call, Response response) throws IOException {            InputStream inputStream = response.body().byteStream();            Bitmap bitmap = BitmapFactory.decodeStream(inputStream);            Message msg = new Message();            msg.obj = bitmap;            handler.sendMessage(msg);          }        });      }    });    button2.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View view) {        uploadMultiFile();      }    });  }  private void uploadMultiFile() {//將圖片發(fā)送到服務(wù)器    final String url = "http://115.159.217.226/upload.php";    File file = new File( Environment.getExternalStorageDirectory()+"/storage/emulated/0/", "xy.jpg");    RequestBody fileBody = RequestBody.create(MediaType.parse("application/octet-stream"), file);    File file2 = new File( Environment.getExternalStorageDirectory()+"/storage/emulated/0/", "yyw.jpg");    RequestBody fileBody2 = RequestBody.create(MediaType.parse("application/octet-stream"), file2);    RequestBody requestBody = new MultipartBody.Builder()        .setType(MultipartBody.FORM)        .addFormDataPart("image1", "xy.jpg", fileBody)        .addFormDataPart("image2", "yyw.jpg", fileBody2)        .build();    Request request = new Request.Builder()        .url(url)        .post(requestBody)        .build();    final okhttp3.OkHttpClient.Builder httpBuilder = new OkHttpClient.Builder();    OkHttpClient okHttpClient = httpBuilder        //設(shè)置超時        .connectTimeout(10, TimeUnit.SECONDS)        .writeTimeout(15, TimeUnit.SECONDS)        .build();    okHttpClient.newCall(request).enqueue(new Callback() {      @Override      public void onFailure(Call call, IOException e) {        Log.e("aa", "uploadMultiFile() e=" + e);      }      @Override      public void onResponse(Call call, Response response) throws IOException {        Log.i("bb", "uploadMultiFile() response=" + response.body().string());      }    });  }}

服務(wù)器端代碼:

  <?php   header('Content-type: application/json;charset=utf-8');if(empty($_FILES)) die('{"status":0,"msg":"錯誤提交"}');$dirPath = './img/';//設(shè)置文件保存的目錄if(!is_dir($dirPath)){  //目錄不存在則創(chuàng)建目錄  @mkdir($dirPath);}$count = count($_FILES);//所有文件數(shù)if($count<1) die('{"status":0,"msg":"錯誤提交"}');//沒有提交的文件$success = $failure = 0;foreach($_FILES as $key => $value){  //循環(huán)遍歷數(shù)據(jù)  $tmp = $value['name'];//獲取上傳文件名  $tmpName = $value['tmp_name'];//臨時文件路徑  //上傳的文件會被保存到php臨時目錄,調(diào)用函數(shù)將文件復(fù)制到指定目錄  if(move_uploaded_file($tmpName,$dirPath.date('YmdHis').'_'.$tmp)){    $success++;  }else{    $failure++;  }}$arr['status'] = 1;$arr['msg']   = '提交成功';$arr['success'] = $success;$arr['failure'] = $failure;echo json_encode($arr);  ?>

總結(jié)

以上所述是小編給大家介紹的Android將圖片上傳到php服務(wù)器的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 合肥市| 平安县| 丰顺县| 二连浩特市| 静宁县| 乌什县| 乐至县| 深州市| 榆中县| 紫云| 泾源县| 蕉岭县| 湖北省| 阜新市| 武汉市| 扎鲁特旗| 犍为县| 江川县| 甘肃省| 波密县| 河池市| 武鸣县| 江阴市| 仁怀市| 德格县| 睢宁县| 盐城市| 龙里县| 门头沟区| 昌江| 治多县| 固镇县| 宁德市| 遂溪县| 桐城市| 盐城市| 博乐市| 辽中县| 布拖县| 靖西县| 察哈|