【问题标题】:Upload Image to mySQL server using php in android在android中使用php将图像上传到mySQL服务器
【发布时间】:2019-03-12 20:03:20
【问题描述】:

请露出我的英语

如何将拍摄的图片上传到数据库中?

@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 的内容。我们可以将图像文件存储在数据库中吗?如果不是,那么它们如何存储图像。

还有关于如何将我捕获的图像存储在内部存储中的任何建议。

【问题讨论】:

    标签: php android mysql android-image


    【解决方案1】:

    您可以将图像转换为 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);
    

    【讨论】:

    • 所以在我的数据库中我必须将 ImageString 作为输入?
    • 是的,你可以。但最好将 ImageString 再次转换为图像文件并保存在主机中并将 URL 放入数据库中。如果我的英语不好,请原谅。
    • 以及如何再次将其转换为图像文件。你能通过在我的给定代码中编辑它来帮助它吗
    • 视情况而定。如果你使用 php,你可以使用:stackoverflow.com/questions/15153776/…。或:stackoverflow.com/questions/11511511/… 在服务器端
    猜你喜欢
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2011-02-02
    • 2015-03-29
    • 2011-10-15
    相关资源
    最近更新 更多