Java 如何在Android活动中从位图创建Blob?
我正在尝试创建新的MyImage,如中所列 现在我不使用任何形式。我有一个Android应用程序,可以从Gallery获取Uri:Java 如何在Android活动中从位图创建Blob?,java,android,google-app-engine,Java,Android,Google App Engine,我正在尝试创建新的MyImage,如中所列 现在我不使用任何形式。我有一个Android应用程序,可以从Gallery获取Uri: m_galleryIntent = new Intent(); m_galleryIntent.setType("image/*"); m_galleryIntent.setAction(Intent.ACTION_GET_CONTENT); m_profileButton.setOnClickListener(new OnClickListener() {
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创建位图。如何从位图在客户端中创建Blob?
我需要在我的android项目中添加哪些JAR 这是使用Blob的正确方法吗?
我的主要目标是将从android上传的图像保存在GAE数据存储中,我是正确使用这个工具还是有更好的方法?
也就是说。您必须将
位图
转换为字节[]
,然后才能将其作为Blob存储在数据库中
要将位图
转换为字节[]
,可以使用以下方法:
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;
}
用于将位图转换为blob
注:
blob是一个二进制大对象。这实际上与您的另一个问题相同。请不要张贴副本。