Kali ini penulis mencoba share sedikit tentang program sederhana untuk menyimpan file (gif/ jpeg/ png/ pdf) ke dalam database. Juga untuk menampilkannya dari file yang sudah tersimpan ke dalam database.
Langsung saja, berikut source codenya :
Keterangan :
– Programming language : csharp
– Database : SQL Server 2008
1. UploadFile.aspx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="UploadFile.aspx.cs" Inherits="UploadFile" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Upload-View File</title></head><body> <form id="form1" runat="server"> <h1>Upload-View File</h1> <span>*) Image (gif/ jpeg/ png)</span> <br /> <span>*) File (pdf)</span> <br /> <br /> <asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label> <table> <tr> <td>Upload</td> </tr> <tr> <td>Title</td> <td><asp:TextBox ID="txtTitleUpload" runat="server" MaxLength="10"></asp:TextBox></td> <tr> <td>File</td> <td> <asp:FileUpload ID="fuFile" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="Upload" onclick="btnUpload_Click"/> </td> </tr> </tr> </table> <br /> <br /> <table> <tr> <td>View</td> </tr> <tr> <td>Title</td> <td> <asp:TextBox ID="txtTitleView" runat="server" MaxLength="10"></asp:TextBox> <asp:Button ID="btnView" runat="server" Text="View" onclick="btnView_Click"/> </td> </tr> </table> </form></body></html> |
2. UploadFile.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
| using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;public partial class UploadFile : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void setKomponen(string message) { txtTitleUpload.Text = ""; txtTitleView.Text = ""; if (message != string.Empty) { lblMessage.Text = string.Format("File upload : {0} success", message); } } protected void btnUpload_Click(object sender, EventArgs e) { try { FileUpload fuFile = (FileUpload)this.FindControl("fuFile"); if (fuFile.PostedFile == null || string.IsNullOrEmpty(fuFile.PostedFile.FileName) || fuFile.PostedFile.InputStream == null) { lblMessage.Text = "Please Upload Valid picture file"; return; } string extension = System.IO.Path.GetExtension(fuFile.PostedFile.FileName).ToLower(); string MIMEType = null; switch (extension) { case ".gif": MIMEType = "image/gif"; break; case ".jpg": case ".jpeg": case ".jpe": MIMEType = "image/jpeg"; break; case ".png": MIMEType = "image/png"; break; case ".pdf": MIMEType = "application/pdf"; break; default: lblMessage.Text = "Not a Valid file format"; return; break; } using (SqlConnection sConn = new SqlConnection([your sql connection string])) { string query = "INSERT INTO M_FILES (TITLE, MIME_TYPE, [FILE]) VALUES (@TITLE, @MIME_TYPE, @FILE)"; SqlCommand sComm = new SqlCommand(query, sConn); sComm.Parameters.AddWithValue("@TITLE", txtTitleUpload.Text.Trim()); sComm.Parameters.AddWithValue("@MIME_TYPE", MIMEType); byte[] fileBytes = new byte[fuFile.PostedFile.InputStream.Length + 1]; fuFile.PostedFile.InputStream.Read(fileBytes, 0, fileBytes.Length); sComm.Parameters.AddWithValue("@FILE", fileBytes); sConn.Open(); sComm.ExecuteNonQuery(); sConn.Close(); } setKomponen(txtTitleUpload.Text.Trim()); } catch (Exception exp) { lblMessage.Text = "Error upload file : " + exp.Message; } } protected void btnView_Click(object sender, EventArgs e) { try { using (SqlConnection sConn = new SqlConnection([your sql connection string])) { string query = "SELECT [FILE], MIME_TYPE FROM M_FILES WHERE TITLE =@TITLE"; SqlCommand sComm = new SqlCommand(query, sConn); sComm.Parameters.AddWithValue("@TITLE", txtTitleView.Text.Trim()); sConn.Open(); SqlDataReader sReader = sComm.ExecuteReader(); DataTable dt = new DataTable(); if (sReader.HasRows) { dt.Load(sReader); } byte[] fileByte = (byte[])dt.Rows[0]["FILE"]; string content = dt.Rows[0]["MIME_TYPE"].ToString(); sConn.Close(); Response.ContentType = content; Response.BinaryWrite(fileByte); Response.End(); } } catch (Exception exp) { lblMessage.Text = "Error upload file : " + exp.Message; } }} |
3. Database
Database name : Sample
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| USE [Sample]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[M_FILES]( [FILE_ID] [int] IDENTITY(1,1) NOT NULL, [TITLE] [varchar](10) NOT NULL, [CREATED_DATE] [datetime] NOT NULL, [MIME_TYPE] [varchar](50) NOT NULL, [FILE] [image] NOT NULL) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[M_FILES] ADD CONSTRAINT [DF_M_FILE_CREATED_DATE] DEFAULT (getdate()) FOR [CREATED_DATE]GO |
Hasil eksekusi programnya tampak seperti di bawah ini :
Demikian share kali ini, semoga bermanfaat


0 komentar :