作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试保存我的图像(使用 DBFlow 作为 Blob 保存到数据库)。
我收到这样的错误..
Error:(90, 30) error: incompatible types
required: Blob
found: byte[]
我使用一些教程将图像转换为字节并将其保存到带有列 blob 的数据库中。
try {
FileInputStream fileInputStream = new FileInputStream(imageURL);
byte[] image = new byte[fileInputStream.available()];
fileInputStream.read(image);
ImageModel imageModel = new ImageModel();
imageModel.latitude = "12345";
imageModel.img = image;
imageModel.save();
} catch (IOException e) {
e.printStackTrace();
}
最后是我的 ImageModel.class,
import com.raizlabs.android.dbflow.annotation.Column;
import com.raizlabs.android.dbflow.annotation.PrimaryKey;
import com.raizlabs.android.dbflow.annotation.Table;
import com.raizlabs.android.dbflow.data.Blob;
import com.raizlabs.android.dbflow.structure.BaseModel;
/**
* Created by Galvez on 11/17/2015.
*/
@Table(databaseName = AppDatabase.dbName)
public class ImageModel extends BaseModel {
@Column
@PrimaryKey(autoincrement = true)
long getId;
@Column
String latitude;
@Column
Blob img;
}
应该是什么问题?将图像转换为 blob 我错了吗?
最佳答案
你的想法是正确的。 Blob 类表示您要使用 BLOB 作为基础数据库列类型。你认为字节数组是在 Blob 中存储数据的方式是正确的。您只有一个小的实现问题:Blob 对象充当字节数组的包装器。在 Java 中,您不能将 byte[]
转换或强制转换为 Blob
;您需要改用 Blob
对象的方法。
所以你上面的代码行应该是
imageModel.img = new Blob(image);
要取回图像数据,您可以做类似的事情
byte[] imageData = imageModel.img.getBlob();
Bitmap image = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);
关于android - DBFlow(将图像另存为 Blob),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33751755/
我有 json 数据: { "products": [ { "productId" : 0, "productImg" : "../img/product-ph
我是一名优秀的程序员,十分优秀!