页面效果

Android採用async框架实现文件上传

须要的权限

  <uses-permission android:name="android.permission.INTERNET"/>

网络訪问权限;

布局文件:


核心代码

package com.examp.uplodefile;

import java.io.File;
import java.io.FileNotFoundException;

import org.apache.http.Header;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;

public class MainActivity extends Activity {

	private EditText et_url;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		et_url = (EditText) findViewById(R.id.et_url);
	}

	public void startUplode(View view) {
		// 获取上传文件的地址
		String filePath = et_url.getText().toString().trim();
		// 创建出文件对象
		File file = new File(filePath);
		// 定义上传的server地址
		String path = "http://172.22.64.193:8080/0001AndroidWebService/UplodeFileServlet";
		// 推断文件的大小,及是否存在
		if (file.exists() && file.length() > 0) {
			// 使用开源框架,
			//
			AsyncHttpClient client = new AsyncHttpClient();
			// 上传的參数
			RequestParams params = new RequestParams();
			try {
				// 加入上传的数据
				params.put("file", file);
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} // Upload a File
				// 发送上传的消息,..并处理结果
			client.post(path, params, new AsyncHttpResponseHandler() {

				@Override
				public void onSuccess(int statusCode, Header[] headers,
						byte[] responseBody) {
					System.out.println("==========" + statusCode);
					for (int i = 0; i < headers.length; i++) {
						System.out.println("&&&&&&" + headers[i]);
					}
					System.out.println("********" + new String(responseBody));
				}
				@Override
				public void onFailure(int statusCode, Header[] headers,
						byte[] responseBody, Throwable error) {
					System.out.println("==========" + statusCode);
					for (int i = 0; i < headers.length; i++) {
						System.out.println("&&&&&&" + headers[i]);
					}
					System.out.println("********" + new String(responseBody));
					System.out.println("--------" + error);
				}

			});
		}

	}

}

编写前提是将框架代码已经导入到项目中


Android採用async框架实现文件上传

框架代码下载

http://download.csdn.net/detail/u011936142/7424999




相关文章:

  • 2021-11-30
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-29
  • 2022-12-23
  • 2021-05-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案