精华内容
下载资源
问答
  • 在oracle数据库保存图片的方法

    千次阅读 2008-01-11 13:27:00
    方法一E:photo>dirVolume in drive E is New VolumeVolume Serial Number is F816-C39FDirectory of E:photo2007-10-31 11:00 .2007-10-31 11:00 ..2007-08-13 16:19 1,212,681 flower.jpg1 File(s) 1,212,681

    方法一

    E:photo>dir
    Volume in drive E is New Volume
    Volume Serial Number is F816-C39F

    Directory of E:photo

    2007-10-31 11:00 <DIR> .
    2007-10-31 11:00 <DIR> ..
    2007-08-13 16:19 1,212,681 flower.jpg
    1 File(s) 1,212,681 bytes
    2 Dir(s) 40,406,614,016 bytes free

    ----------------------------------------------------
    SQL> conn a/a
    Connected.

    grant create any directory to a;
    grant create any library to a;
    create or replace directory photo_dir as 'e:photo';
    create table photos (blob_column blob);

    declare
    a_blob blob;
    a_bfile bfile := bfilename('PHOTO_DIR','flower.jpg');
    begin
    insert into photos values (empty_blob()) returning blob_column into a_blob;
    dbms_lob.fileopen(a_bfile);
    dbms_lob.loadfromfile(a_blob,a_bfile,dbms_lob.getlength(a_bfile));
    dbms_lob.fileclose(a_bfile);
    commit;
    end;
    /

    PL/SQL procedure successfully completed.

    SQL> select dbms_lob.getlength(blob_column) from photos;

    DBMS_LOB.GETLENGTH(BLOB_COLUMN)
    -------------------------------
    1212681

    方法二,利用SQL*Loader

    test.ctl
    LOAD DATA
    INFILE 'sample.dat'
    append
    INTO TABLE test
    FIELDS TERMINATED BY ','
    (product_id  INTEGER EXTERNAL(6),
    FileName    FILLER CHAR(30),
    ad_graphic  LOBFILE(FileName) TERMINATED BY EOF)

    sample.dat

    1,1.jpg,
    2,2.jpg,
    3,3.jpg,
    4,4.jpg,
    5,5.jpg,

     

    展开全文
  • 创建数据库 public class DBService extends SQLiteOpenHelper { private final static int VERSION = 1; private final static String DATABASE_NAME = "uniteqlauncher.db"; public DBService(Context...

    //1.创建数据库

    public class DBService extends SQLiteOpenHelper {
    private final static int VERSION = 1;
    private final static String DATABASE_NAME = "uniteqlauncher.db";
    
    public DBService(Context context) {
        this(context, DATABASE_NAME, null, VERSION);
    }
    
    public DBService(Context context, String name, CursorFactory factory,
            int version) {
        super(context, name, factory, version);
    }
    
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE [launcher]("
            + "[_id] INTEGER PRIMARY KEY AUTOINCREMENT,"
            + "[photo] BINARY)"; //保存为binary格式
    
        db.execSQL(sql);
    
    }
    
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        if(newVersion > oldVersion){
            db.execSQL("DROP TABLE IF EXISTS[launcher]");
        } else {
            return;
        }
        onCreate(db);
    }
    }

    //保存图片到数据库

    public void savePhoto(Drawable appIcon, Context mContext){
     LayoutInflater mInflater = (LayoutInflater) mContext
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     View v = inflater.inflate(R.layout.app_view, null);
     ImageView iv = (ImageView) v.findViewById(R.id.appicon);
     iv.setImageDrawable(appIcon);
     String INSERT_SQL = "INSERT INTO launcher(photo) values(?)";
     SQLiteDatabase db = mDBService.getWritableDatabase(); // 得到数据库
    try {
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     ((BitmapDrawable) iv.getDrawable()).getBitmap().compress(
     CompressFormat.PNG, 100, baos);//压缩为PNG格式,100表示跟原图大小一样
    Object[] args = new Object[] {baos.toByteArray() };
     db.execSQL(INSERT_SQL, args);
     baos.close();
     db.close();
     } catch (Exception e) {
     e.printStackTrace();
     }
    
    }

     

    //3.从数据库中取图片

    public void getPhoto() {
     String SELECT_SQL = "SELECT photo FROM launcher";
     ImageView appIcon = (ImageView) v.findViewById(R.id.appicon);//v是我在类中定义的一个view对象,跟前面保存图片一样
    byte[] photo = null;
     mDBService = new DBService(getContext());
     SQLiteDatabase db = mDBService.getReadableDatabase();
     Cursor mCursor = db.rawQuery(SELECT_SQL, null);
     if (mCursor != null) {
     if (mCursor.moveToFirst()) {//just need to query one time
     photo = mCursor.getBlob(mCursor.getColumnIndex("photo"));//取出图片
    }
     }
    if (mCursor != null) {
     mCursor.close();
     }
     db.close();
    
     ByteArrayInputStream bais = null;
    if (photo != null) {
            bais = new ByteArrayInputStream(photo);
            appIcon.setImageDrawable(Drawable.createFromStream(bais, "photo"));//把图片设置到ImageView对象中
    } 
        //appIcon显示的就是之前保存到数据库中的图片
    
    }

     

     

     

     

     

    转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3553538.html

    展开全文
  • 本文主要讲述了oralce数据库保存读取图片的一些方法!很好的参考!
  • 主要介绍了使用c#读取图像保存数据库的方法,大家参考使用吧
  • 主要介绍了php将图片保存入mysql数据库失败解决方法,详细分析了php将图片保存数据库遇到问题及对应解决方法,并总结了相关技巧,具有一定参考借鉴价值,需要朋友可以参考下
  • 当我们有大量图片或者图片比较大时,我们常规做法可能是保存图片路径,但是也不排除需要将图片直接存放到数据库的情况,此时就需要保存图片数据库了。这篇文章我会向大家介绍: 如何通过FileUpLoad控件将图片...
  • 主要介绍了php实现上传图片保存数据库的方法,可通过将图片保存数据库实现多台服务器共享文件的功能,非常具有实用价值,需要的朋友可以参考下
  • 图片保存数据库的方法.doc图片保存数据库的方法.doc
  • 将图像保存到SQL server2000Image字段中
  •  一般来讲都是把图片保存到服务器下,然后根据路径读出,但是有时候出于安全及版权什么考虑,会把图片保存到mysql的数据库中,然后再读出来,这样的图片点击右键属性,是看不到图片地址。下面逍遥一生就介绍...
     分类:
     一般来讲都是把图片保存到服务器下,然后根据路径读出的,但是有时候出于安全及版权什么的考虑,会把图片保存到mysql的数据库中,然后再读出来,这样的图片点击右键属性,是看不到图片地址的。下面逍遥一生就介绍下如何用php把图片存储到mysql中及如何读出。
        MySQL数据库使用专门的字段来保存大容量的数据,数据类型为BLOB。
      MySQL数据库为BLOB做出的定义如下:BLOB数据类型是一种大型的二进制对象,可以保存可变数量的数据。BLOB具有四种类型,分别是TINYBLOB,BLOB, MEDIUMBLOB 与LONGBLOB,区别在于各自所能够保存的最大数据长度区别。
      在介绍了所需要使用的数据类型之后,我们可以使用以下语句创建保存图象的数据表。
      CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB ); 
    编写上传脚本 
      关于如何编写文件的上传,我们在这里就不再介绍了,感兴趣的读者可以参见“网页陶吧”内的相关文章。现在,我们主要来看一下如何接收上传文件并将其存入到MySQL数据库中。具体的脚本代码如下,其中我们假定文件上传域的名称为Picture。
    1. <?   
    2. If($Picture != "none") {   
    3. $PSize = filesize($Picture);   
    4. $mysqlPicture = addslashes(fread(fopen($Picture"r"), $PSize));   
    5. mysql_connect($host,$username,$password2003or die("Unable to connect to SQL server");  
    6. @mysql_select_db($dbor die("Unable to select database");   
    7. mysql_query("INSERT INTO Images (Image) VALUES ($mysqlPicture)"or die("Cant Perform Query");   
    8. }else {   
    9. echo"You did not upload any picture";   
    10. }   
    11. ?>   


      这样,我们就可以成功的把图片保存到数据库中。如果在将图片插入MySQL的过程中出现问题,可以检测一下MySQL数据库所允许的最大数据包的大小。如果设置值过小的话,我们会在数据库的错误日志中找到相应的记录。
      下面,我们简单详解一下上述脚本程序。首先,我们通过“If($Picture != "none")”检测是否有文件被上传。然后,使用addslashes()函数避免出现数据格式错误。最后,连接MySQL,选择数据库并插入图片。
    显示图片 
      在知道了如何将图? 入数据库之后,我们就需要考虑如何才能从数据库中取出图片并在HTML页面中显示出来。这个过程要稍微复杂一些,下面我们就来介绍一下编写过程。
    因为PHP显示图片需要发送相应的标头,所以我们就会面临这样一个问题,那就是一次只能显示一副图片,因为我们不能在发出标头之后再发送其它的标头。
    为了有效的解决这一问题,我们编写了两个文件。其中,第一个文件作为HTML页面的模板,定位图片的显示位置。第二个文件则被用来从数据库中实际输出文件流,作为<IMG>标签的SRC属性。
    第一个文件的简单形式可以如下:
    1. <HTML> <BODY>   
    2. <?   
    3. mysql_connect($host,$username,$password2003or die("Unable to connect to SQL server");  
    4. @mysql_select_db($dbor die("Unable to select database");  
    5. $result=mysql_query("SELECT * FROM Images"or die("Cant Perform Query");   
    6. While($row=mysql_fetch_object($result)) {  
    7. echo "<IMG SRC=\"Second.php?PicNum=$row->PicNum\">";   
    8. } ?>  
    9. </BODY> </HTML>   

      当HTML页面被浏览时,每显示一副图片就会调用一次Second.php3文件。当第二个文件被调用时会传入相应的Picture ID,我们可以借此从数据库中取回对应的图片并显示。
    Second.php文件如下:
    1. <?   
    2. $result=mysql_query("SELECT * FROM Images WHERE PicNum=$PicNum"or die("Cant perform Query");   
    3. $row=mysql_fetch_object($result);   
    4. Header( "Content-type: image/gif");  
    5. echo $row->Image;   
    6. ?>   
    展开全文
  • php将图片保存到mysql数据库及从数据库中读取图片的方法源码 分类: 网站 2012-03-11 15:25 5059人阅读 评论(0) 收藏 举报 数据库mysqlphpsql serverquerydatabase 一般来讲都是把图片保存到服务器下,然后...

    php将图片保存到mysql数据库及从数据库中读取图片的方法源码

    分类: 网站

     一般来讲都是把图片保存到服务器下,然后根据路径读出的,但是有时候出于安全及版权什么的考虑,会把图片保存到mysql的数据库中,然后再读出来,这样的图片点击右键属性,是看不到图片地址的。下面逍遥一生就介绍下如何用php把图片存储到mysql中及如何读出。
        MySQL数据库使用专门的字段来保存大容量的数据,数据类型为BLOB。
      MySQL数据库为BLOB做出的定义如下:BLOB数据类型是一种大型的二进制对象,可以保存可变数量的数据。BLOB具有四种类型,分别是TINYBLOB,BLOB, MEDIUMBLOB 与LONGBLOB,区别在于各自所能够保存的最大数据长度区别。
      在介绍了所需要使用的数据类型之后,我们可以使用以下语句创建保存图象的数据表。
      CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB ); 
    编写上传脚本 
      关于如何编写文件的上传,我们在这里就不再介绍了,感兴趣的读者可以参见“网页陶吧”内的相关文章。现在,我们主要来看一下如何接收上传文件并将其存入到MySQL数据库中。具体的脚本代码如下,其中我们假定文件上传域的名称为Picture。

    1. <?   
    2. If($Picture != "none") {   
    3. $PSize = filesize($Picture);   
    4. $mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize));   
    5. mysql_connect($host,$username,$password2003) or die("Unable to connect to SQL server");  
    6. @mysql_select_db($db) or die("Unable to select database");   
    7. mysql_query("INSERT INTO Images (Image) VALUES ($mysqlPicture)") or die("Cant Perform Query");   
    8. }else {   
    9. echo"You did not upload any picture";   
    10. }   
    11. ?>   



      这样,我们就可以成功的把图片保存到数据库中。如果在将图片插入MySQL的过程中出现问题,可以检测一下MySQL数据库所允许的最大数据包的大小。如果设置值过小的话,我们会在数据库的错误日志中找到相应的记录。
      下面,我们简单详解一下上述脚本程序。首先,我们通过“If($Picture != "none")”检测是否有文件被上传。然后,使用addslashes()函数避免出现数据格式错误。最后,连接MySQL,选择数据库并插入图片。
    显示图片 
      在知道了如何将图? 入数据库之后,我们就需要考虑如何才能从数据库中取出图片并在HTML页面中显示出来。这个过程要稍微复杂一些,下面我们就来介绍一下编写过程。
    因为PHP显示图片需要发送相应的标头,所以我们就会面临这样一个问题,那就是一次只能显示一副图片,因为我们不能在发出标头之后再发送其它的标头。
    为了有效的解决这一问题,我们编写了两个文件。其中,第一个文件作为HTML页面的模板,定位图片的显示位置。第二个文件则被用来从数据库中实际输出文件流,作为<IMG>标签的SRC属性。
    第一个文件的简单形式可以如下:

    1. <HTML> <BODY>   
    2. <?   
    3. mysql_connect($host,$username,$password2003) or die("Unable to connect to SQL server");  
    4. @mysql_select_db($db) or die("Unable to select database");  
    5. $result=mysql_query("SELECT * FROM Images") or die("Cant Perform Query");   
    6. While($row=mysql_fetch_object($result)) {  
    7. echo "<IMG SRC=\"Second.php?PicNum=$row->PicNum\">";   
    8. } ?>  
    9. </BODY> </HTML>   


      当HTML页面被浏览时,每显示一副图片就会调用一次Second.php3文件。当第二个文件被调用时会传入相应的Picture ID,我们可以借此从数据库中取回对应的图片并显示。
    Second.php文件如下:

      1. <?   
      2. $result=mysql_query("SELECT * FROM Images WHERE PicNum=$PicNum") or die("Cant perform Query");   
      3. $row=mysql_fetch_object($result);   
      4. Header( "Content-type: image/gif");  
      5. echo $row->Image;   
      6. ?>  

    转载于:https://www.cnblogs.com/wahaccp/p/3899333.html

    展开全文
  • 图片保存数据库的方法:  public void imgToDB(string sql)  { //参数sql中要求保存的imge变量名称为@images  //调用方法如:imgToDB("update UserPhoto set Photo=@images where UserNo='" + temp + "'...
  • 数据库用的是SQL 2008,数据表中存放的是图片的二进制数据,现在把图片以一种图片格式(如.jpg)导出,然后存放于指定的文件夹中,实现方式如下: byte[] bytImg = (byte[])myDAL.DbHelperSQL.Query("SELECT F_Photo...
  • 1:为控件绑定图片BitmapImagebitmapImage; bitmapImage=newBitmapImage(); bitmapImage.BeginInit(); bitmapImage.StreamSource=System.IO.File.OpenRead(@"E:\2.jpg"); bitmapImage.EndInit(); p_w_p...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,401
精华内容 560
关键字:

数据库保存图片的方法