【发布时间】:2015-10-13 11:40:45
【问题描述】:
目标
我的目标是从我的服务器下载图像。但是,图像作为 blob 字段将存储在数据库中,而不是图像的链接。
我做了什么
我实际上已经下载了这个图像,但是图像的路径已传递,并且该图像是从文件中下载的。但是,我正在尝试编辑我的代码,以便它获取 Blob 字符串(从服务器下载)并加载此图像。下面是我的代码。
我认为问题是什么
我最大的问题是在尝试
我将我的“blob”作为字符串参数。 (这是第 1 个错误吗?)
这是urldisplay。但是,BitmapFactory.decodeStream() 需要一个 InputStream。但如果我将参数从 String 更改为 InputStream。
我收到以下代码错误:无法解析方法(java.lang.string)
new DownloadImageTask(holder.imageview).execute(ArrayListStudents.get(position).getImage());
如果我将所有设置和图像获取器更改为 InputStream,我会收到错误,我调用 student.setImage(jRealObject.getString("cimage")); 从“GetString”列中获取数据
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];// this parameter once had url of image
//but now it has the image bitmap.
Bitmap cImg1= null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
// cImg1= BitmapFactory.decodeStream(in);
cImg1=urldisplay;//Assign strings to BitMap?
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return cImg1;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
【问题讨论】: