Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将大型编码base64图像字符串从Android发送到Mysql_Android_Mysql - Fatal编程技术网

如何将大型编码base64图像字符串从Android发送到Mysql

如何将大型编码base64图像字符串从Android发送到Mysql,android,mysql,Android,Mysql,如何从android向服务器发送大型编码图像base64字符串。 嗨,朋友们 By default String value within 8000 characters is uploading to server. But Encoded Image base64 String length is more than 8000 characters. 超过8000个字符的未从android上传到mysql数据库 请给我一个解决方案 @Override protected void

如何从android向服务器发送大型编码图像base64字符串。

嗨,朋友们

 By default String value within 8000 characters is uploading to server.

 But Encoded Image base64 String length is more than 8000 characters.
超过8000个字符的未从android上传到mysql数据库

请给我一个解决方案

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == RESULT_LOAD_IMAGE) {
        // Make sure the request was successful
       // Log.d("Vicky","I'm out.");

        display(requestCode,resultCode,data);

    }
}

public void display(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK && data != null && data.getData() != null) {
        Uri selectedImageUri = data.getData();
        Bitmap selectedImageBitmap = null;
        try {
            selectedImageBitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImageUri);
        } catch (IOException e) {
            e.printStackTrace();
        }
        selectedImage.setImageBitmap(selectedImageBitmap);
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        selectedImageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
        byte[] byteArrayImage = byteArrayOutputStream.toByteArray();
        encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);}}

只需检查数据库结构图像字段是否具有如下所示的数据类型longblob


将数据类型更改为VARCHAR。它的最大长度大约是65000。你可以找到更多信息


将图像存储在文件中,并将图像路径保存在数据库中。

似乎是服务器端(mysql)而不是客户端的问题我同意droid,我尝试了数据类型MediumText、LongText和Longblob,但是,它至少存储8000个字符,但我需要向服务器存储8000多个字符。您发送的http请求类型是什么?得到还是邮寄?我怀疑这是一个web服务器问题,而不是前面提到的DB数据类型支持大于8K字符的方式。您使用的是什么版本的Mysql,什么web服务器?web服务器:apache 2.4.17 Mysql版本:10.1.9mariadb使用GET方法通过android发送,在php中使用相同的GET方法接收。我尝试使用longblob、longText、mediumtext、,但它存储的字符不超过8000个,但仅存储在8000个字符以内。请给我一些其他的解决方案。。!我尝试了65000,但它显示了一些错误,所以我使用了64000,但它也不起作用。OP希望将图像发送到远程服务器,而不是本地存储在手机上。您在服务器端或后端使用哪种语言?PHP(Codeigniter)我不懂PHP。您需要做的是,通过编码在服务器中创建一个文件夹,将响应编码字符串转换为jpg文件,并将其写入您创建的文件夹。
ALTER TABLE tablename MODIFY columnname VARCHAR(65000);