在android中使用php上传图片到mysql服务器

xfb7svmp  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(432)

请把我的英语说出来
如何将捕获的图像上传到数据库中?

@Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );

    camera = (ImageButton) findViewById( R.id.camera );

    camera.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dialog = new Dialog( MainActivity.this );
            dialog.setContentView( R.layout.camera_gallery );
            dialog.setTitle( "Upload Image" );
            dialog.setCancelable( true );
            dialog.show();

            capture = (Button) dialog.findViewById( R.id.capture );
            download = (Button) dialog.findViewById( R.id.download );

            capture.setOnClickListener( new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE );
                    Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                    getFileUri();
                    i.putExtra(MediaStore.EXTRA_OUTPUT, file_uri);
                    startActivityForResult(i, 10);
                }
            } );

            download.setOnClickListener( new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent( Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI );
                    intent.setType("image/*");
                    startActivityForResult( intent, gallery );
                }
            } );

        }
    } );

}

private void getFileUri() {
    image_name = "testing123.jpg";
    file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
            + File.separator + image_name
    );

    file_uri = Uri.fromFile(file);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

                    //code here
    }
}

在这里,我想把捕获的图像添加到我的数据库,也在原来的大小,而不是缩略图。
我还有一个关于mysql的。我们能在数据库中存储图像文件吗?如果不能,他们怎么存储图像。
以及如何在内部存储器中存储我捕获的图像的任何建议。

9vw9lbht

9vw9lbht1#

可以将图像转换为base64格式。例如:

bitmap2 = MediaStore.Images.Media.getBitmap(activity.getContentResolver(), uri);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bitmap2.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    byte[] imageBytes = baos.toByteArray();
    String ImageString = Base64.encodeToString(imageBytes, Base64.DEFAULT);

相关问题