1

我在 android 中有一个用于捕获图像然后将它们保存到 Emualtor 画廊 Fine.But 的应用程序。但是当我从手机捕获它们时,我必须将画廊中的所有照片移动到服务器,它们应该自动上传到服务器并从画廊中删除,即想要移动图像到服务器。请告诉我如何从图库中选择所有图像,然后将它们移动到服务器。

4

1 回答 1

0

调用相机

String fileName = String.valueOf(System.currentTimeMillis()) + ".jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
mCapturedImageURI = getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(cameraIntent, 1234);

处理图像

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && requestCode == 1234) {
String filepath = getPathfromUri(mCapturedImageURI);
//Now you have the file path. upload it to server.
//uploadtoserver(filepath);
//Now delete it after uploading 
new File(filepath).delete();
}
}

将 Uri 转换为实际路径的方法

public String getPathfromUri(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
startManagingCursor(cursor);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String path= cursor.getString(column_index);
cursor.close();
return path;
}
于 2012-05-29T10:08:49.663 回答