【发布时间】:2012-10-29 11:59:37
【问题描述】:
我必须将捕获的图像上传到 ftp 服务器。我正在通过相机捕获图像,我想获取该图像的图像名称和路径。我正在使用以下代码获取图像路径:
int ACTION_TAKE_PICTURE = 1;
String selectedImagePath;
Uri mCapturedImageURI;
Button loadButton;
ImageView img;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_ftpsdemo);
img = (ImageView)findViewById(R.id.image);
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "yahoo.jpg");
mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intentPicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intentPicture.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(intentPicture,ACTION_TAKE_PICTURE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == ACTION_TAKE_PICTURE){
selectedImagePath = getRealPathFromURI(mCapturedImageURI);
Log.v("selectedImagePath", selectedImagePath);
img.setImageBitmap( BitmapFactory.decodeFile(selectedImagePath));
}
}
public String getRealPathFromURI(Uri contentUri)
{
try
{
String[] proj = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
catch (Exception e)
{
return contentUri.getPath();
}
}
但我得到这样的图像路径:
/mnt/sdcard/DCIM/Camera/1352443194885.jpg
因为我正在保存名称“yahoo.jpg”。 我知道这可能是一个非常简单的问题,但我无法获得相同的图像名和路径。 所以我无法将图像上传到 ftp 服务器。
【问题讨论】:
-
如果您愿意将相机中的图像存储在自己的文件夹中,我可能会为您提供解决方案。
-
我随时欢迎任何解决方案.. 只是我想要捕获图像的完整路径和图像名称。
-
你是怎么解决这个问题的?
-
@kamil 我已经在下面发布了解决方案。它对我有用。
-
@Umesh 好问题,它对我有帮助谢谢:)