Bimap图像不在服务器上。在数据库映像表中有一个blob数据类型属性。我想保存位图图像数据库Android位图图像上传到mysql数据库作为blob数据类型
class savebitmap extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try {
// Save the image to the SD card.
//File file = new File(Environment.getExternalStorageDirectory(),
//System.currentTimeMillis() + ".png");
//FileOutputStream stream = new FileOutputStream(file);
//bitmap.compress(CompressFormat.PNG, 100, stream);
//convert to byte
ByteArrayOutputStream bytedata = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, bytedata);
byte[] data = bytedata.toByteArray();
String imagedata = Base64.encodeToString(data, Base64.DEFAULT);
String name="prescription";
//save image to mysql
httpclient=new DefaultHttpClient();
httppost= new HttpPost("http://10.0.2.2/android/image.php");
nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name",name));
nameValuePairs.add(new BasicNameValuePair("image",imagedata));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response=httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
Log.e("Connection", "connection success ");
Log.e("bitmap", imagedata);
} catch (Exception e) {
Log.e("upload failed", e.toString());
}
return null;
}
}
我的PHP文件,该文件从http请求recive的数据,并插入到数据库
<?php
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("image") or die (mysql_errno());
$base= $_REQUEST['image'];
$name= $_REQUEST['name'];
$buffer = base64_decode($base);
$buffer = mysql_real_escape_string($buffer);
$flag['code']=0;
if($q=mysql_query("INSERT INTO image ('name','image')
VALUES ('$name',$buffer')"))
{
$flag['code']=1;
}
print(json_encode($flag));
mysql_close();
mysql_close();
?>
Logcat
09-12 19:07:43.486:D/dalvikvm(816):GC_FOR_ALLOC释放< 1K,5%空闲6131K/6388K,暂停44ms,总计44ms 09-12 19:07:43.666:D/gralloc_goldfish(816) :未检测到GPU仿真的仿真器。 09-12 19:07:46.946:D/dalvikvm(816):GC_FOR_ALLOC释放2507K,43%空闲3651K/6388K,暂停68ms,总计69ms 09-12 19:07:46.946:I/dalvikvm-heap(816 ):为1334416字节的分配增加堆(碎片情况)至4.974MB 09-12 19:07:46.986:D/dalvikvm(816):GC_CONCURRENT释放1K,23%空闲4952K/6388K,暂停7ms + 3ms,总计37ms 09-12 19:07:46.986:D/dalvikvm(816):WAIT_FOR_CONCURRENT_GC被阻止17ms 09-12 19:07:49.766:D/dalvikvm(816):GC_CONCURRENT已释放577K,20%空闲5124K/6388K,暂停4ms的+ 7毫秒,总44ms 09-12 19:07:50.946:E /连接(816):连接成功
您忘记了提问的部分。这段代码是否以某种方式失败?你有错误吗?意外的行为?你在问什么? (另外,请注意,你的代码中有一个***开放性的***注入漏洞***,你的SQL语句中也有一个语法错误,我确信数据库告诉你一个错误消息,你也尝试关闭数据库两次,这可能会导致另一个错误。) – David 2014-09-12 18:55:16
亲爱的mybitmap图像转换成字节数组不上载在服务器端? – 2014-09-12 18:58:56
在建立连接时没有错误 – 2014-09-12 18:59:55