Tin tức công nghệ Tạp chí công nghệ IG E-Learning Games trực tuyến Tìm kiếm Liên hệ Xin chào Bạn !   Đăng nhập  Đăng ký 
Tìm kiếm  
Trang chủ > Tạp chí công nghệ > .NET & Databases > Microsoft .NET > Programming7/3/2008 1:00:22 AM
Upload file hình ảnh vào cơ sở dữ liệu SQL ASP.NET cung cấp một cách thức đơn giản để cập nhật hình ảnh vào cơ sở dữ liệu SQL Server. Hình ảnh có thể được lưu trữ trong một cơ sở dữ liệu với thuộc tính của bảng là kiểu image.

Bạn có thể sử dụng câu lệnh SQL sau để tạo một bảng cho phép lưu trữ hình ảnh:

 

CREATE  TABLE [dbo].[_image](

[Img _id]                 [int] identity(1,1) CONSTRAINT [pk_image] PRIMARY KEY NOT NULL,

[Img _name] [varchar] (30)          not NULL,

[Img _file]               [IMAGE] NULL,

[Img _type]   [varchar] (30) NULL

)

ON [PRIMARY] Textimage_on [PRIMARY]

 

Trong đó,

 

§       Img_id: lưu trữ id của hình và là khóa chính của bảng

§       Img_name: lưu trữ tên của hình ảnh.

§       Img_file: lưu trữ hình ảnh

§       Img_type: lưu trữ kiểu nội dung của hình ảnh

 

Bây giờ chúng ta tiến hành thực hiện các bước để upload hình vào cơ sở dữ liệu

 

  1. Tạo một Webform để upload file hình
  2. Upload hình vào cơ sở dữ liệu.

 

 

Tạo Webform để tải file hình ảnh.

 

Bạn tạo form upload hình như sau:

 

 

<form enctype="multipart/form-data" id="form1" runat="server">

    <div>

        <table id="table1" border="0" cellpadding="0" style="border-collapse: collapse"

            width="100%">

            <tr>

                <td width="125">

                    &nbsp;Image Name</td>

                <td width="10">

                    &nbsp;</td>

                <td>

                    <asp:TextBox ID="txtname" runat="server"></asp:TextBox></td>

            </tr>

            <tr>

                <td>

                    &nbsp;File to Upload</td>

                <td>

                    &nbsp;</td>

                <td>

                    <input id="fileimage" runat="server" type="file" /></td>

            </tr>

            <tr>

                <td>

                    &nbsp;</td>

                <td>

                    &nbsp;</td>

                <td>

                    <asp:Button ID="btupload" runat="server" Text="Upload" OnClick="btupload_Click" /></td>

            </tr>

            <tr>

                <td>

                    &nbsp;</td>

                <td>

                    &nbsp;</td>

                <td>

                    &nbsp;</td>

            </tr>

        </table>

   

    </div>

</form>

 

 

 

 

Tải file hình vào cơ sở dữ liệu.

 

Khi người dùng nhấn vào nút Upload, sự kiện btupload_Click được gọi. Bạn có thể copy đoạn mã lệnh sau vào sự kiện btupload_Click

 

 

protected void btupload_Click(object sender, EventArgs e)

    {

        // tạo đối tượng Stream

        System.IO.Stream img_strm = fileimage.PostedFile.InputStream;

        // nhận kích thước của hình

        int img_len = fileimage.PostedFile.ContentLength;

        // nhận kiểu hình

        string strType = fileimage.PostedFile.ContentType;

        string strName = txtname.Text;

        // tạo mảng kiểu byte của file đã được upload

        byte[] imgData = new byte[img_len];

        int n = img_strm.Read(imgData, 0, img_len);

        int result = SaveToDB(strName, imgData, strType);

 

    }

// Hàm SaveToDB()

 

int SaveToDB(string imgName, byte[] imgbin, string imgcontenttype)

    {

        OleDbConnection con = new OleDbConnection("Provider=SQLOLEDB;server=(local);database=_NET;uid=_net;pwd=");

       

        OleDbCommand cmd = new OleDbCommand("INSERT INTO _image values(?,?,?)", con);

        OleDbParameter param0 = new OleDbParameter("@imgName",OleDbType.VarWChar, 30);

        param0.Value = imgName;

        cmd.Parameters.Add(param0);

 

        OleDbParameter param1 = new OleDbParameter("@imgName", OleDbType.Binary);

        param1.Value = imgbin;

        cmd.Parameters.Add(param1);

 

        OleDbParameter param2 = new OleDbParameter("@imgType", OleDbType.VarWChar, 30);

        param2.Value = imgcontenttype;

        cmd.Parameters.Add(param2);

        con.Open();

        int numofwsAffected = cmd.ExecuteNonQuery();

 

        con.Close();

        return numofwsAffected;

    }

 

 

Và bây giờ, file hình đã được lưu trữ trong cơ sở dữ liệu của bạn.

  Tác giả: #1 

Phân mục
 IO
 Java
 PHP
 2005
 2008
 MySQL
 Oracle
Danh sách thành viên tích cực
(30 ngày trở lại)
1. dungmeo (30)
2. buratino (14)
3. chan (9)
4. tramco (7)
6. anhtuan (4)
8. tienlbhoc (3)
9. gosu (2)
10. vinastar (2)
Thống kê iWiki
Tổng số bài viết 82
Tổng số Comments 21
 TRANG CHỦ   |   Đặt ITGatevn làm trang chủ   |   Liên hệ quảng cáo  |   Gửi bài viết
Copyright 2006-2010 ITGatevn.com.vn, All right reserved Contact us - Thông tin Tòa soạn
Xây dựng trên công nghệ IGCMS V3.0