有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java捕获图像并将其上载到数据库

我想从相机上传图像到数据库。我已经从gallery解决了这个问题,gallery中的图像已经上传到数据库,但它无法从相机或捕获图像中工作,我试图用gallery编写相同的代码,但我有一个错误

这是我的密码

这是我的Android清单。xml代码

<uses-permission 安卓:name="安卓.permission.CAMERA"/>
<uses-permission 安卓:name="安卓.permission.READ_EXTERNAL_STORAGE"/>
<uses-feature 安卓:name="安卓.hardware.camera"/>
<uses-permission 安卓:name="安卓.permission.WRITE_EXTERNAL_STORAGE" />

main活动

这是我的提交按钮

reportsubmit.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
        ImageUploadToServerFunction();
     }
  });
}

这是我将图像上传到数据库的代码

public void ImageUploadToServerFunction(){

    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 85, bytes);
    byte[] byteArrayVar = bytes.toByteArray();
    final String ConvertImage = Base64.encodeToString(byteArrayVar, Base64.DEFAULT);

}

这是我打开相机的代码

private void openCamera() {
    Intent cameraIntent = new Intent(安卓.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(cameraIntent, CAMERA_REQUEST);
}

这是我的OnActivityResult代码

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (attachment >= 1 && attachment <= 8) {
        if (resultCode == RESULT_OK && requestCode == 1 && data != null && data.getData() != null) {
            Uri uri = data.getData();
            try {
                if (attachment == 1) {
                    dynamic = (ImageView) findViewById(R.id.imgview);
                } else if (attachment == 2) {
                    dynamic = (ImageView) findViewById(R.id.imgview1);
                } else if (attachment == 3) {
                    dynamic = (ImageView) findViewById(R.id.imgview2);
                } else if (attachment == 4) {
                    dynamic = (ImageView) findViewById(R.id.imgview3);
                } else if (attachment == 5) {
                    dynamic = (ImageView) findViewById(R.id.imgview4);
                } else if (attachment == 6) {
                    dynamic = (ImageView) findViewById(R.id.imgview5);
                } else if (attachment == 7) {
                    dynamic = (ImageView) findViewById(R.id.imgview6);
                } else if (attachment == 8) {
                    dynamic = (ImageView) findViewById(R.id.imgview7);
                }

                bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
                dynamic.setImageBitmap(bitmap);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {

                if (attachment == 1) {
                    dynamic = (ImageView) findViewById(R.id.imgview);
                } else if (attachment == 2) {
                    dynamic = (ImageView) findViewById(R.id.imgview1);
                } else if (attachment == 3) {
                    dynamic = (ImageView) findViewById(R.id.imgview2);
                } else if (attachment == 4) {
                    dynamic = (ImageView) findViewById(R.id.imgview3);
                } else if (attachment == 5) {
                    dynamic = (ImageView) findViewById(R.id.imgview4);
                } else if (attachment == 6) {
                    dynamic = (ImageView) findViewById(R.id.imgview5);
                } else if (attachment == 7) {
                    dynamic = (ImageView) findViewById(R.id.imgview6);
                } else if (attachment == 8) {
                    dynamic = (ImageView) findViewById(R.id.imgview7);
                }

            Bundle extras = data.getExtras();
            Bitmap imageBitmap = (Bitmap) extras.get("data");

            dynamic.setImageBitmap(imageBitmap);

            // CALL THIS METHOD TO GET THE URI FROM THE BITMAP
            Uri tempUri = getImageUri(getApplicationContext(), imageBitmap);

            // CALL THIS METHOD TO GET THE ACTUAL PATH
            Toast.makeText(report.this,"Here "+ getRealPathFromURI(tempUri),Toast.LENGTH_LONG).show();

           }
        System.out.print(resultCode);
    }
}

public Uri getImageUri(Context inContext, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
    return Uri.parse(path);
}

public String getRealPathFromURI(Uri uri) {
    Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    cursor.moveToFirst();
    int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
    return cursor.getString(idx);
}

共 (0) 个答案