如何将大型编码base64图像字符串从Android发送到Mysql
如何从android向服务器发送大型编码图像base64字符串。 嗨,朋友们如何将大型编码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
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);