Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> [android,9]9.使用HttpClient實現上傳文件

[android,9]9.使用HttpClient實現上傳文件

編輯:關於Android編程

采用httpclient實現上傳:

 

一、引入三個jar 包:

commons-codec-1.3.jar

commons-httpclient-3.1.jar

commons-logging-1.1.jar

二、將sd卡中的文件上傳到服務器上。

1、在layout下的布局xml文件:

android:id="@+id/et_file_path"

android:layout_width="match_parent"

android:text="/mnt/sdcard/a.jpg"

android:layout_height="wrap_content" >

 

 

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:onClick="uploadfile"//指定按鈕點擊的事件

 

android:text="上傳文件" />

2、在activity類中的 上傳按鈕的點擊的方法

// 把sd卡上的文件上傳到服務器上

public voiduploadfile(View view){

//獲取被上傳文件的路徑

String filepath = et_file_path.getText().toString().trim();

if(TextUtils.isEmpty(filepath)){

Toast.makeText(this,"文件路徑不能為空", 0).show();

return ;

}

File file = new File(filepath);

if(file.exists()){//判斷上傳的文件是否存在

//獲取上傳文件的服務端的路徑

String path =getResources().getString(R.string.uploadurl);

//調用做上傳的方法;

String result =NetService.uploadfile(path, file);

if(result!=null){

Toast.makeText(this,result, 0).show();

}else{

Toast.makeText(this,"上傳文件失敗", 0).show();

}

 

}else{

Toast.makeText(this,"文件不存在", 0).show();

return ;

}

}

}

3、在service中做上傳的方法:

public static String uploadfile(String path, File file) {

try {

PostMethod filePost = newPostMethod(path);

//指定上傳的文件和參數

Part[] parts = { new StringPart("name","zhangsan"),

newStringPart("password", "123"),//參數

newFilePart("file", file) };//上傳的文件

 

//設置請求體

filePost.setRequestEntity(new MultipartRequestEntity(parts,

filePost.getParams()));

//創建httpClient對象

org.apache.commons.httpclient.HttpClient client = neworg.apache.commons.httpclient.HttpClient();

//設置超時時長5秒

client.getHttpConnectionManager().getParams()

.setConnectionTimeout(5000);

//執行

int status = client.executeMethod(filePost);

 

return "上傳成功";

}

catch (Exception e) {

return "上傳失敗";

}

finally {

//filePost.releaseConnection();

}

 

}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved