精华内容
下载资源
问答
  • 数据库存图片

    千次阅读 2019-06-25 15:54:13
    所谓数据库存图片,并不能真的将照片存入。解释如下: 图一 如上图属性pimage所示,其中的图片存入的仅仅是一个网站的部分路径 ...

    所谓数据库存图片,并不能真的将照片存入。解释如下:

                                                                                                    图一

    如上图属性pimage所示,其中的图片存入的仅仅是一个网站的部分路径

                                                                                                    图二

    上图jsp文件中通过newPro.pimage来进行图片路径的索引(图片实际是存在服务端的文件夹中),然后在图一中的pimage的属性中可以看到image/d.jpg(实际就是图片存在服务端文件路径),如下图上所示:

                                       

                                                                                                    图三

    部分代码实现的效果如上图显示

     

    展开全文
  • .net 数据库存图片

    2013-03-07 22:37:28
    本参考代码是基于.net 开发的向数据库传入图片的参考代码.
  • Android 数据库存图片

    2017-10-27 15:45:40
    Android数据库存储图片
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.drawable.BitmapDrawable;
    import android.graphics.drawable.Drawable;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import java.util.ArrayList;
    
    /**
     * Created by zhaoyanli on 2017/10/26.
     */
    
    public class ImageDbActivity extends AppCompatActivity {
        public static final int ORDER_ADD_CONTACTS = 666;
        TextView textView ;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            ImageView iv = (ImageView)findViewById(R.id.image);
            if(getDrawable().size() != 0) {
                iv.setImageDrawable(getDrawable().get(0));
            }
        }
    
    
    
        private ArrayList<Drawable> getDrawable() {
            PictureDatabase pd = new PictureDatabase(this);
            SQLiteDatabase sd = pd.getWritableDatabase();
    
            ArrayList<Drawable> drawables = new ArrayList<Drawable>();
    
            //查询数据库
            Cursor c = sd.query("picture", null, null, null, null, null, null);
    
            //遍历数据
            if(c != null && c.getCount() != 0) {
                while(c.moveToNext()) {
                    //获取数据
                    byte[] b = c.getBlob(c.getColumnIndexOrThrow(PictureDatabase.PictureColumns.PICTURE));
                    //将获取的数据转换成drawable
                    Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length, null);
                    BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmap);
                    Drawable drawable = bitmapDrawable;
                    drawables.add(drawable);
                }
            }
            return drawables;
        }
    }
    
    
    
    数据库class
    import java.io.ByteArrayOutputStream;
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.graphics.Bitmap;
    import android.graphics.Bitmap.CompressFormat;
    import android.graphics.drawable.BitmapDrawable;
    import android.graphics.drawable.Drawable;
    import android.provider.BaseColumns;
    
    import com.chuizi.R;
    
    public class PictureDatabase extends SQLiteOpenHelper {
    
        //数据库的字段
        public static class PictureColumns implements BaseColumns {
            public static final String PICTURE = "picture";
        }
    
        private Context mContext;
    
        //数据库名
        private static final String DATABASE_NAME = "picture.db";
        //数据库版本号
        private static final int DATABASE_Version = 1;
        //表名
        private static final String TABLE_NAME = "picture";
    
        //创建数据库
        public PictureDatabase (Context context) {
            super(context, DATABASE_NAME, null, DATABASE_Version);
            this.mContext = context;
        }
        //创建表并初始化表
        @Override
        public void onCreate (SQLiteDatabase db) {
            String sql = "Create table " + TABLE_NAME + "(" + BaseColumns._ID
                    + " integer primary key autoincrement," + PictureColumns.PICTURE
                    + " blob not null);";
            db.execSQL(sql);
    
            //初始化
            initDataBase(db,mContext);
        }
    
        //将转换后的图片存入到数据库中
        private void initDataBase (SQLiteDatabase db, Context context) {
            Drawable drawable = context.getResources().getDrawable(R.mipmap.detail_zing_userd);
            ContentValues cv = new ContentValues();
            cv.put(PictureColumns.PICTURE, getPicture(drawable));
            db.insert(TABLE_NAME, null, cv);
        }
        //将drawable转换成可以用来存储的byte[]类型
        private byte[] getPicture(Drawable drawable) {
            if(drawable == null) {
                return null;
            }
            BitmapDrawable bd = (BitmapDrawable) drawable;
            Bitmap bitmap = bd.getBitmap();
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            bitmap.compress(CompressFormat.PNG, 100, os);
            return os.toByteArray();
        }
    
        //更新数据库
        @Override
        public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) {
            String sql = " DROP TABLE IF EXISTS " + TABLE_NAME;
            db.execSQL(sql);
            onCreate(db);
        }
    }

    展开全文
  • 实现用delphi将图片存到数据库中,其实不只是图片基本上所有文件都能存当然不要太大。
  • 数据库存图片,是存图片名称?还是存图片路径??问题如上,之所以会有这么个疑问,目前图片是在本地服务器上存的,但是以后若是业务规模扩大,那图片肯定是要迁移到云存储服务上的,那个时候图片路径会改动,我怕...

    数据库存图片,是存图片名称?还是存图片路径??

    问题如上,之所以会有这么个疑问,目前图片是在本地服务器上存的,但是以后若是业务规模扩大,那图片肯定是要迁移到云存储服务上的,那个时候图片路径会改动,我怕原有网站图片显示,全部挂掉…。

    不知道,大家存图片到数据库的时候,是存图片名称(test.jpg) 还是 存图片路径(一般都是 /Data/UploadImage/2017-04-14/test.jpg)??

    存图片名称的话,以后,路径改动,直接修改图片路径的代码就解决了。

    存图片路径的话,以后,路径改动,要更新数据库中所有图片的路径才能够解决。

    不知道你们在上传图片后,保存图片的时候,是怎样保存的呢??

    回答

    习惯了

    路径、名称、后缀 分开存,然后有一个字段是完整url,即把以上所有连起来

    从你的问题看,既然刚开始就在数据库存储图片的相对路径就好了,以后要存第三方图片服务的话,到时就写脚本批量替换成第三方的图片地址就可以了,如果想一步到位的话,现在就可以使用第三方的图片服务的

    这个一般都是在自己的数据库中存储图片路径,要是图片多了,得占用多少空间呀。真实图片可以存储在第三方平台,如七牛等。实现思路是:先上传到七牛云服务器,获取到存储的路劲,然后保存到自己数据库中。

    存图片现在常规做法是:图片资源统一上传至图片服务器,然后保存图片路径,如果数据量非常大,可以根据Hash值进行分表存储。使用在项目中的话,全部走images.xxx.com/路径.png 的方式加载图片。另,如果不使用图片服务器,走专门的域名的话,可以在网站根目录简历一个resource资源文件夹,全部存放到这里,所有使用路径的地方都使用“/”,从根目录找起,方便迁移,也不会出路径问题。

    如果存自己服务器的话,数据库存相对路径! 如果迁移了或者换了域名也不重要,直接更改域名即可,其它都不用管,如果你存全路径,换域名IP 那就惨了!

    如果存第三方都会返回一个ID给你直接存这个ID就好了,到时候请求这个ID拿到你想要的图片即可!

    如果是本地服务器上的图片,那么就存相对与你项目根目录的路径(如/upload/20170413/xxxx.png),这样有两个好处:1.你前端引用的时候可以直接用(前提是你的nginx之类的配置根就是你项目路径)。2.在你项目迁移的时候能够直接迁移,不会有大问题。

    如果是第三方的地址,那么就直接存完整的地址了(比如http://img.xxx.xx.qiniu.com/x…),第三方的你干预不了什么,也不会有地址迁移的说法。

    展开全文
  • 数据库存图片和文件,客户端浏览图片或下载文件(通过Model层,多层应用) 1、数据库: CREATE TABLE [TArticle] ( [Pkid] [int] IDENTITY (1, 1) NOT NULL , [ArticleTitle] [nvarchar] (50) COLLATE Chinese_PRC...

    数据库存图片和文件,客户端浏览图片或下载文件(通过Model层,多层应用) 

    1、数据库:

     

      

    2、模型层:

     

     

    3、DAL层:

     

    4、BLL业务逻辑层(省略)

     

    5、界面层

    (1)、添加:

     

    (2)、BLOB输出页面:(图片显示或文件下载)

    去除aspx文件中的所有HTML代码,只留一行声明行

     

     

    (3)、展示页:

     

    (4)、列表页

     

     

     

     

     6、小结:

    (1)、从上传控件到byte数组:

    int len = upload_file.ContentLength;                         //读上传文件,上传文件字节大小
    bo.AttachmentFile = new byte[len];                           //读上传文件,初始化一个byte数组,长度为上传文件字节大小
    upload_file.InputStream.Read(bo.AttachmentFile, 0, len);     //读上传文件,上传文件.输入流.读(字节数组,从0开始,长度为文件大小)

    (2)、从byte数组插入到数据库Image类型的字段里:

    SqlParameter para_AttachmentFile = new SqlParameter("@AttachmentFile", SqlDbType.Image); //参数类型为Image
    para_AttachmentFile.Value = bo.AttachmentFile;
    paras.Add(para_AttachmentFile);

    (3)、从数据库Image类型的字段读出到byte数组:
    bo.AttachmentFile = (byte[])objReader.GetValue(2);

    (4)、从byte数组输出到aspx页面:

        (4.1)提供下载:

    private void ExportDownload(bol.Article bo)
    {
        string fileName = string.Format("attch_{0}.{1}", bo.Pkid, bo.FileExtName); //客户端保存的文件名

        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "utf-8";
        Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
        Response.ContentType = "application/octet-stream";
        Page.EnableViewState = false;
        Response.BinaryWrite(bo.AttachmentFile);
    }

        (4.2)图片输出显示:

    private void ExportImage(bol.Article bo)
    {
        MemoryStream stream = new MemoryStream();
        stream.Write(bo.AttachmentFile, 0, bo.AttachmentFile.Length);
        Bitmap bitmap = new Bitmap(stream);

        string content_type = "image/jpeg";          //默认为jpg格式
        ImageFormat img_format = ImageFormat.Jpeg;   //默认为jpg格式
        if (bo.FileExtName.ToLower().CompareTo("gif") == 0)
        {
            content_type = "image/gif";
            img_format = ImageFormat.Gif;
        }
        else if ("jpg|jpeg|jpe".Contains(bo.FileExtName.ToLower()))
        {
            content_type = "image/jpeg";
            img_format = ImageFormat.Jpeg;
        }

        Response.ContentType = content_type;
        bitmap.Save(Response.OutputStream, img_format);
    }

     

    展开全文
  • 个人在项目中遇到需要往mongo里保存图片和文件,整体做下来写个随笔,也算是个总结。 MongoDB是一种非关系型数据库(NoSql),很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。...
  • import java.io.IOException;import java.io.OutputStream;import java.sql.Blob;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;...
  • 各位大佬,有没有这方面的解决思路呢,我去网上查,有的说图片不存放在数据库,而是存放图片的网络地址。而把图片放入服务器上。请指教
  • 只需要在输出图片2进制数据前加上:header("Content-type: image/JPEG",true); 转载于:https://www.cnblogs.com/fll369/archive/2012/05/16/2503381.html
  • private void button1_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*....2:如果把一个1M大小的图片,压缩成二进制,存进数据库,该数据所占的空间有多大呢?是不是也是1M?
  • /**********************************向数据库插入图片********************************/ string ImgPath = FileUpload1.PostedFile.FileName; string ImgName = ImgPath.Substring(ImgPath.LastIndexOf("...
  • 数据库存txt和图片

    千次阅读 2017-11-28 08:59:22
    数据库存储txt文本和jpg图片 环境:MySql+SQLyog+j2se+jdbc 存储文本用longtext类型 存储图片用blob类型 1、首先建表 create table t_t ( id int(16) NOT NULL AUTO_INCREMENT, longText longtext, ...
  • var _jsonReader = new Ext.data.JsonReader({ root: 'root', ...数据是有的,在action里System.out.println可以打出来,其他数据都有显示 [b]问题补充:[/b] alert打出来_jsonReader.jsonData是undefined
  • 本例子是从前台拿到图片和其他信息之后把图片用java通过流的方式存到项目的某个目录下,然后把路径存到数据库里,如果用base64的形式来存图片的话数据量比较大,不好读取。故采用这种方法。 代码 代码解析: 1. ...
  • 数据库存有一字段,此字段包含文字和一些图片路径,如何在页面显示文字的同时显示图片,如何去做?? [b]问题补充:[/b] 数据库存有一字段,此字段包含文字和一些图片路径,如何在页面显示文字的同时显示图片,如何去...
  • String path = ... //这是数据库存的一个图片链接 在浏览器可以直接打开 Image img = ImageIO.read(new File(path)); //这里报错 这个path的格式要怎么写
  • VB.NET2003数据库存

    2010-04-25 22:33:43
    VB.NET2003数据库存图和读取到图片框的例子,但是读取的时候没做查询,所以只能读取固定记录。这里用的是MSDE数据库,请自己附加一下。
  • 达梦数据库存储二进制大文件(图片、文件等),主要通过BFILE、BLOB类型。
  • 写入Excel中后有显示第一列客户款号总库存这些,开始写在第12行第一列开始写入,一行写入5个,然后再隔12行,再写入下边的数据图片需要对应客户款号在Excel写入图片,类似于图片的格式 客户款号 总库存 零售数量 ...
  • 现在公司要做库存管理系统。用c# wpf 编程。 **要求:** 所有规格及型号都根据库中实时分类显示,且做分类统计,即表头和规格都是根据库中实时变化的。 **困惑:** 现在没有思路,前台该用什么控件去显示数据?(试...
  • String[] assetHeadTemp = { "商品名称", "销量", "库存", "周转率", "图片" };String[] assetNameTemp = { "maktx", "saleCount", "stockCount", "rotationRate", "matnr" };Workbook wb = new SXSSFWorkbook(100);...
  • 上传图片

    2019-08-20 16:40:14
    因为像音频之类的数据太大,存在数据库太大,所以我们只是在数据库存图片地址或者是视频地址; 首先看上传工具类: public static String uploadFile(byte[] file,String filePath,String filename, S.....
  • 图片展示

    2019-03-12 20:00:10
    数据库存图片的地址时,全写成 / 的格式,及url的格式。 /files/abc.jpg 这样,html页面写a标签,能够直接找到。如果写反斜杠,就需要给replace,处理下。 ...
  • // 将数据放入map类型的集合中 ... String[] assetHeadTemp = { "商品名称", "销量", "库存", "周转率", "图片" }; String[] assetNameTemp = { "maktx", "saleCount", "stockCount", "rotationRate",
  • 写入Excel中后有显示第一列客户款号总库存这些,开始写在第12行第一列开始写入,一行写入5个,然后再隔12行,再写入下边的数据图片需要对应客户款号在Excel写入图片,类似下面的格式import xlsxwriterimport os#以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 629
精华内容 251
关键字:

数据库存图片