如何在Android Activity中从位图创建Blob?

我正在尝试创建新的MyImage,如“ 如何使用Google应用引擎上传和存储图片”中所列。

现在我没有使用任何表格。 我有Android应用程序从画廊获取Uri:

m_galleryIntent = new Intent(); m_galleryIntent.setType("image/*"); m_galleryIntent.setAction(Intent.ACTION_GET_CONTENT); m_profileButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { startActivityForResult(Intent.createChooser(m_galleryIntent, "Select Picture"),1); } }); 

我正在使用Uri创建一个Bitmap。
如何从Bitmap在我的客户端创建Blob?
什么jar我必须添加到我的Android项目?

这是使用Blob的正确方法吗?
我的主要目标是保存从GAE数据存储区中的机器人升级的图像,Am正确使用此工具还是更好的方法? Thatks。

您必须将Bitmap转换为byte[] ,然后将其作为Blob存储在数据库中。

要将Bitmap转换为byte[] ,您可以使用:

 Bitmap yourBitmap; ByteArrayOutputStream bos = new ByteArrayOutputStream(); yourBitmap.compress(Bitmap.CompressFormat.PNG, 100, bos); byte[] bArray = bos.toByteArray(); 

我希望这是你想要的。

你可以使用这段代码:

 public static byte[] getBytesFromBitmap(Bitmap bitmap) { if (bitmap!=null) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 70, stream); return stream.toByteArray(); } return null; } 

用于将bitmap转换为blob。

注意:

blob是一个二进制大对象。