5

我正在尝试创建新的 MyImage ,如如何使用 google app engine 上传和存储图像中所列。

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

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?
我必须将哪些 jars 添加到我的 android 项目中?

这是使用 Blob 的正确方法吗?
我的主要目标是在 GAE 数据存储中保存从 android 上传的图像,是正确使用此工具还是更好的方法?那就是。

4

2 回答 2

15

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

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

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

我希望这是你想要的。

于 2012-05-16T12:36:17.847 回答
1

您可以使用此代码:

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 是一个二进制大对象。

于 2015-08-04T11:45:14.007 回答