如何将图片以二进制的形式存入数据库? 在Winform中,如果将图片以二进制的形式存入数据库?求各位大侠帮帮忙 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/tuyile006/archive/2007/01/08/614718.html 字段:1.id 自增长2.img ole对象详细实现代码:default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!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>无标题页</title></head><body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /><br /> <br /> <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" /></div> </form></body></html>default.aspx.csusing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;using System.IO;public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { try { if (FileUpload1.HasFile) { if (IsAllowedExtension(this.FileUpload1)) { //取得上传文件的大小 int FileLen = FileUpload1.PostedFile.ContentLength; Byte[] FileData = new Byte[FileLen]; //创建访问客户端上传文件的对象 HttpPostedFile hp = FileUpload1.PostedFile; //创建数据流对象 Stream sr = hp.InputStream; //将图片数据放到FileData数组对象实例中,0代表数组指针的起始位置,FileLen代表指针的结束位置 sr.Read(FileData, 0, FileLen); OleDbConnection conn = new OleDbConnection("Provider = Microsoft.JET.OleDB.4.0;Data Source = " + Server.MapPath("mydata.mdb")); conn.Open(); OleDbCommand cmd = new OleDbCommand("insert into table_img(img) values(?)", conn); //存储过程插入到数据库中 OleDbParameter para = new OleDbParameter("?", OleDbType.Binary); para.Value = FileData; cmd.Parameters.Add(para); cmd.ExecuteNonQuery(); //弹出上传成功的提示 Response.Write("<script languge = ‘javascript‘ type = ‘text/javascript‘>alert(‘上传成功‘);</script>"); //关闭数据库连接 conn.Close(); } else { Response.Write("<script languge = ‘javascript‘ type = ‘text/javascript‘>alert(‘上传文件格式不对,只允许上传jpg和gif格式的文件‘);</script>"); } } else { Response.Write("<script language = ‘javascript‘ type = ‘text/javascript‘>alert(‘请选择上传文件‘);</script>"); } } catch { } } #region 实现真正意义上的文件类型判断 public static bool IsAllowedExtension(FileUpload hifile) { System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.BinaryReader r = new System.IO.BinaryReader(fs); string fileclass = ""; byte buffer; try { buffer = r.ReadByte(); fileclass = buffer.ToString(); buffer = r.ReadByte(); fileclass += buffer.ToString(); } catch { } r.Close(); fs.Close(); if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar { return true; } else { return false; } } #endregion} 用FileUpload控件System.IO.Stream fileDataStream = DocUpload.PostedFile.InputStream;//得到文件大小 int fileLength = DocUpload.PostedFile.ContentLength; //创建数组 byte[] fileData = new byte[fileLength]; //把文件流填充到数组 fileDataStream.Read(fileData, 0, fileLength); 说简单超简单,说难超级难,就怕没人,顶着有分 C/S小程序. 帮帮忙. 怎样利用FXsdk发送彩信? dataGridView数据显示问题 问题,急 picturebox无法显示 关于连接数据库的错误,不明白??? System.DirectoryServices FindOne()调用失败问题? 为什么拖任何一个控件下来宽度都会是全屏? 怎么实现点窗口右上角的关闭按钮让窗口最小化或者到右下角的图标中去? 自己做的C#程序怎么添加皮肤呢 请教入门级问题:这两行代码有什么区别?
//得到文件大小
int fileLength = DocUpload.PostedFile.ContentLength; //创建数组
byte[] fileData = new byte[fileLength];
//把文件流填充到数组
fileDataStream.Read(fileData, 0, fileLength);