android:怎样将Uri类型的图片数据转换成流 5
我在获取到手机本地图片的时候使用了这个方法switch(view.getId()){caseR.id.activity_changepersonaldata_image:...
我在获取到手机本地图片的时候使用了这个方法
switch (view.getId()){
case R.id.activity_changepersonaldata_image:
Intent intent=new Intent(Intent.ACTION_PICK,null);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
startActivityForResult(intent, 0x1);
break;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (requestCode == 0x1 && resultCode == RESULT_OK) {
if (data != null) {
//data.getData为Uri类型
photo=data.getData().toString();
image.setImageURI(data.getData());
}
}
super.onActivityResult(requestCode, resultCode, data);
}
目的是点击图片获取到手机的本地图片数据,我获取到的数据data.getData()的是Uri类型的数据。我想问的问题是怎样把获取到的Uri类型的数据data.getData()传到后台接口中去呢,顺便说一下,我在向后台传送数据的时候使用的网络请求时OkHttpUtils的post方式请求的。是不是需要在.addParams()方法中传到参数类型要转换成流的形式。 展开
switch (view.getId()){
case R.id.activity_changepersonaldata_image:
Intent intent=new Intent(Intent.ACTION_PICK,null);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
startActivityForResult(intent, 0x1);
break;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (requestCode == 0x1 && resultCode == RESULT_OK) {
if (data != null) {
//data.getData为Uri类型
photo=data.getData().toString();
image.setImageURI(data.getData());
}
}
super.onActivityResult(requestCode, resultCode, data);
}
目的是点击图片获取到手机的本地图片数据,我获取到的数据data.getData()的是Uri类型的数据。我想问的问题是怎样把获取到的Uri类型的数据data.getData()传到后台接口中去呢,顺便说一下,我在向后台传送数据的时候使用的网络请求时OkHttpUtils的post方式请求的。是不是需要在.addParams()方法中传到参数类型要转换成流的形式。 展开
展开全部
ContentResolver resolver = getContentResolver();
Cursor cursor = resolver.query(originalUri, proj, null, null, null);
// 按我个人理解 这个是获得用户选择的图片的索引值
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
// 将光标移至开头 ,这个很重要,不小心很容易引起越界
cursor.moveToFirst();
// 最后根据索引值获取图片路径
String path = cursor.getString(column_index);
这样就获得了图片的路径。
下面说图片上传,现在一般上传都用Okhttp 框架了,直接上传个File类就可以,不需要自己在转成数据流,给你个连接,我写的工具类,你也可以查一下,这个很方便http://blog.csdn.net/xihe9152/article/details/68485040,使用前需要先依赖Okhttp3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询