Android Post圖片和數據

調用照相

private void imageClient(){

// // 隱藏title
// this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//
// // 設置全屏
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
fileName = UUID.randomUUID().toString();

try{
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imgFile = new File(Environment.getExternalStorageDirectory(), fileName + ".jpg");
Uri outputFileUri = Uri.fromFile(imgFile);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(cameraIntent, 10);
} catch (Exception ex) {
ex.printStackTrace();
Log.e("EP", "" + ex.getMessage());
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
// 父類方法
super.onActivityResult(requestCode, resultCode, data);

switch (resultCode) {
case RESULT_OK:
LogUtil.info("on Activity Result");
Bundle extras = data.getExtras();
b = (Bitmap) extras.get("data");

new Thread(new Runnable(){
public void run(){
if (b != null) {
try {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + "/test.jpg"));
// 壓縮圖片
b.compress(CompressFormat.JPEG, 75, bos);
bos.flush();
bos.close();
} catch (Exception e) {
Log.e("Exception", "file or compress exception");
e.printStackTrace();
}

}
imgFile = new File(android.os.Environment.getExternalStorageDirectory() + "/" +fileName + ".jpg");

// ImgManager.resize(file, file, 200, "jpg");

// 發送到服務器
if(!HttpUtil.postImg("http://neil.finalist.hk/namex/namex/nclient/upload", "user", "client", imgFile)){
// 發送失敗則重發一次
HttpUtil.postImg("http://neil.finalist.hk/namex/namex/nclient/upload", "user", "client", imgFile);
}
}
}).start();
}
}

發送

@SuppressWarnings("deprecation")
public static boolean postImg(String url, String u, String c, File file){
LogUtil.info("" + file.exists());

PostMethod postMethod = new PostMethod(url);

Part[] part = new Part[4];
part[0] = new StringPart("u", u);
part[1] = new StringPart("c", c);
try {
part[2] = new FilePart("Filedata", file);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
Log.e("file exception", ex.getMessage());
}
part[3] = new StringPart("flag", "image");

MultipartRequestEntity mrp = new MultipartRequestEntity(part, postMethod.getParams());
postMethod.setRequestEntity(mrp);
org.apache.commons.httpclient.HttpClient client = new org.apache.commons.httpclient.HttpClient();
client.getParams().setContentCharset("utf-8");
try {
client.executeMethod(postMethod);
if("false".equals(postMethod.getRequestEntity().toString())){
return false;
}
} catch (HttpException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}finally {
if (client != null) {
client = null;
}
if (postMethod != null) {
postMethod = null;
}
}
return true;
}
發佈了43 篇原創文章 · 獲贊 0 · 訪問量 2666
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章