绝大大多数的系统,图片一般不直接存储到数据库,不然图片多的话很容易降低数据库性能,图片上传后一般把图片存储到磁盘的目录下,数据库只存储图片路径
❷ 使用android上传图片到服务器,并且把图片保存到服务器的某个文件夹里
有两种方法,第一,把你的图片转成字节流,然后用post方法把字节流传到服务端,然后服务端接收到字节流之后,开启一个线程把它重新压缩成图片,保存在某个文件夹下面。
第二,开启一个线程,用socket直接把图片放到stream中传到服务端,服务端接收后保存到文件夹下。
❸ 求助!android开发 如何将图片添加进SQlite数据库
//写入数据库
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageView pic = (ImageView) findViewById(R.id.picture);
Bitmap picdraw =pic.getDrawingCache(true)
picdraw.compress(Bitmap.CompressFormat.PNG, 100, os);
values.put("pic", os.toByteArray());
//从数据库读取
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(c.getBlob(c.getColumnIndex("pic")), 0, c.getBlob(c.getColumnIndex("pic")).length,opts);
opts.inSampleSize = Common.computeSampleSize(opts, -1, 130*100);
opts.inJustDecodeBounds = false;
bmp = BitmapFactory.decodeByteArray(c.getBlob(c.getColumnIndex("pic")), 0, c.getBlob(c.getColumnIndex("pic")).length,opts);
downloader.setApkdraw(bmp);
❹ android怎么将图片传送到服务器,然后将图片保存在mysql数据库中
一般数据库中是不保存图片的,保存的是图片存放路径,图片放到文件夹中,如果放到数据库回中数据库会答很大,影响读取速度。
如果想放就把字段定义为如:`img` longblob;
然后就可以读取文件流 存储到数据库中了就可以了
❺ Android 图片以字节流方式存入本地数据库 怎么弄 求高手指点啊
少年,数据库有个类型是blob,可以用这个类型存储,直接存储字节,步骤:
1.假设图片字段名Image,那么设置Image为blob字段
2.代码中将bimageview转换为字节以后,用ContentValues中的values.put("Image",byte[]);然后或者是插入,或者是更新,用android的sqlite3中的操作就可以了
如果你看上面的后半部分不太懂,可以网络一下:android sqlite3 的增删改查,就会看到里面有具体的步骤了,就是利用ContentValues进行sql语句处理
❻ android 如何获取保存的图片的地址 并存到数据库中
安卓中如何获取保存的图片uri 并保存到sqlite数据库中
有如下两种方法,仅供参考
方法一:java代码
public void saveIcon(Bitmap icon) {
if (icon == null) {
return;
}
// 最终图标要保存到浏览器的内部数据库中,系统程序均保存为SQLite格式,Browser也不例外,因为图片是二进制的所以使用字节数组存储数据库的
// BLOB类型
final ByteArrayOutputStream os = new ByteArrayOutputStream();
// 将Bitmap压缩成PNG编码,质量为100%存储
icon.compress(Bitmap.CompressFormat.PNG, 100, os);
// 构造SQLite的Content对象,这里也可以使用
raw ContentValues values = new ContentValues();
// 写入数据库的
Browser.BookmarkColumns.TOUCH_ICON字段 values.put(Browser.BookmarkColumns.TOUCH_ICON, os.toByteArray());
DBUtil.update(....);
//调用更新或者插入到数据库的方法
}
}
方法二:如果数据表入口时一个content:URIJava代码
import android.provider.MediaStore.Images.Media;
import android.content.ContentValues;
import java.io.OutputStream;
// Save the name and description of an image in a ContentValues map.
ContentValues values = new ContentValues(3);
values.put(Media.DISPLAY_NAME, "road_trip_1");
values.put(Media.DESCRIPTION, "Day 1, trip to Los Angeles");
values.put(Media.MIME_TYPE, "image/jpeg");
// Add a new record without the bitmap, but with the values just set.
// insert() returns the URI of the new record.
Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
// Now get a handle to the file for that record, and save the data into it.
// Here, sourceBitmap is a Bitmap object representing the file to save to the database.
try {
OutputStream outStream = getContentResolver().openOutputStream(uri);
sourceBitmap.compress(Bitmap.CompressFormat.JPEG, 50, outStream);
outStream.close();
} catch (Exception e) {
Log.e(TAG, "exception while writing image", e);
}
原文请看http://www.bafenbaosoft.com/post/48.html