responseJson
MainActivity:
public class MainActivity extends Activity implements OnClickListener {
private static final String TAG = "MainActivity";
private EditText et_fileName;
private TextView tv_filePath;
private EditText et_url;
private Button btn_selectFile;
private Button btn_upload;
private File file;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initEvent();
}
private void initEvent() {
btn_selectFile.setOnClickListener(this);
btn_upload.setOnClickListener(this);
}
private void initView() {
btn_selectFile = (Button) findViewById(R.id.btn_selectFile);
btn_upload = (Button) findViewById(R.id.btn_upload);
et_fileName = (EditText) findViewById(R.id.et_fileName);
et_url = (EditText) findViewById(R.id.et_url);
tv_filePath = (TextView) findViewById(R.id.tv_filePath);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_selectFile:
Intent intent = new Intent();
intent.setType("*/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, 1);
break;
case R.id.btn_upload:
new Thread(){
public void run() {
String fixname = getSuffixName(file.getName());
uploadFile("http://10.0.2.2:8080/SchoolApp/api/upload",file,System.currentTimeMillis()+"."+fixname,"");
};
}.start();
break;
default:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK){
Uri uridata = data.getData();
String dataString = data.getDataString();
Log.i(TAG, "uridata="+uridata);
String filePath = dataString.replace("file://", "");
Log.i(TAG, "dataString="+filePath);
tv_filePath.setText(filePath);
file = new File(filePath);
Log.i(TAG, "file="+file.exists()+"#"+file.getName());
}
super.onActivityResult(requestCode, resultCode, data);
}
private void uploadFile(String url,File file,String fileName,String savePath){
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
FileBody fileBody = new FileBody(file);
StringBody fileNameBody = new StringBody(fileName,ContentType.DEFAULT_TEXT);
MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
entityBuilder.addPart("file", fileBody);
entityBuilder.addPart("fileName", fileNameBody);
httppost.setEntity(entityBuilder.build());
HttpResponse response = httpclient.execute(httppost);
if(response.getStatusLine().getStatusCode() == 200){
HttpEntity entity = response.getEntity();
Log.i(TAG, EntityUtils.toString(entity));
}
} catch (Exception e) {
e.printStackTrace();
}
}
private String getSuffixName(String name){
String[] strings = name.split("\\.");
return strings[strings.length - 1];
}
}
三、测试