当前位置:  编程技术>.net/c#/asp.net

c#上传图片入库及读取图片的例子

    来源: 互联网  发布时间:2014-08-30

    本文导语:  用c#(asp.net)实现上传图片到数据库,并可以从数据库中读取出图片,真是有点废话了,读不出来,要你有毛用。哈哈。 下面来看具体的步骤。 1、创建数据表,用来存储图片 字段说明: ImageData Column 图象二进制数据 ImageContent...

用c#(asp.net)实现上传图片到数据库,并可以从数据库中读取出图片,真是有点废话了,读不出来,要你有毛用。哈哈。
下面来看具体的步骤。

1、创建数据表,用来存储图片
字段说明:
ImageData Column 图象二进制数据
ImageContentType Column 图象文件类型
ImageDescription Column 图象文件说明
ImageSize Column 图象文件长度字段

sql语句:
 

代码示例:
CREATE TABLE [dbo].[ImageStore] (
[ImageID] [int] IDENTITY (1, 1) NOT NULL ,
[ImageData] [image] NULL ,
[ImageContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[ImageDescription] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[ImageSize] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

以下就是程序了,建议大家实测,以提高自己的水平,看一百遍,不如自己练习一遍。
学编程,就像谈恋爱,只远观,不近玩,谈个球呢,你说对吧,题外话,题外话,哈。

1、文件UpLoadImage.aspx
 

代码示例:

上传图片




上传图片(选择你要上传的图片)






文件说明(添加上传图片说明,如:作者、出处)
















2、UpLoadImage.cs:
 

代码示例:

using System;
using System.Web;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace UploadImage
{
public class UploadImage : Page {
protected HtmlInputFile UP_FILE; //HtmlControl、WebControls控件对象
protected TextBox txtDescription;
protected Label txtMessage;
protected Int32 FileLength = 0; //记录文件长度变量
protected void Button_Submit(System.Object sender, System.EventArgs e) {
HttpPostedFile UpFile = UP_FILE.PostedFile; //HttpPostedFile对象,用于读取图象文件属性
FileLength = UpFile.ContentLength; //记录文件长度
try {
if (FileLength == 0) { //文件长度为零时
txtMessage.Text = "请你选择你要上传的文件";
} else {
Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组
Stream StreamObject = UpFile.InputStream; //建立数据流对像
//读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
StreamObject.Read(FileByteArray,0,FileLength);
//建立SQL Server链接
SqlConnection Con = new SqlConnection("Data Source=Localhost;Initial
Catalog=testdb;User ID=sa;Pwd=;");
String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType,
ImageDescription, ImageSize) valueS (@Image, @ContentType,
@ImageDescription, @ImageSize)";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).value =
FileByteArray;
CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).value =
UpFile.ContentType; //记录文件类型
//把其它单表数据记录上传
CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).value =
txtDescription.Text;
//记录文件长度,读取时使用
CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).value =
UpFile.ContentLength;
Con.Open();
CmdObj.ExecuteNonQuery();
Con.Close();
txtMessage.Text = "

OK!你已经成功上传你的图片";//提示上传成功
}
} catch (Exception ex) {
txtMessage.Text = ex.Message.ToString();
}}}}

//----------------
//图片上传到数据库,在数据库中读取及显示在Web页中
getImg.aspx:

//--------------
//getImg.cs程序内容如下:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace getImg {
public class MainDisplay : System.Web.UI.Page {
public void Page_Load(System.Object sender, System.EventArgs e) {
int ImgID = Convert.ToInt32(Request.QueryString["ImgID"]); //ImgID为图片
ID
//建立数据库链接
SqlConnection Con = new SqlConnection("Data Source=KING;Initial
Catalog=testdb;User ID=sa;Pwd=;");
String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).value = ImgID;
Con.Open();
SqlDataReader SqlReader = CmdObj.ExecuteReader();
SqlReader.Read();
Response.ContentType = (string)SqlReader["ImageContentType"];//设定输出文件类型
//输出图象文件二进制数制
Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0,
(int)SqlReader["ImageSize"]);
Response.End();
Con.Close();
//很简单吧^_^
}
}
}

3、显示页面,ShowImage.hml
 

代码示例:


为您呈现从数据库读取出的图象:

介绍完了,抓紧练习吧。


    
 
 

您可能感兴趣的文章:

  • C#判断上传文件是否是图片以防止木马上传的方法
  • c#语言 ftp上传到linux上去
  • 基于C# winform实现图片上传功能的方法
  • c# UpdatePanel无刷新上传图片 asp.net无刷新上传
  • c# ftp上传下载的实现代码
  • c#连接ftp进行上传与下载的代码
  • asp.ent 图片上传数据库的代码(c#)
  • C#采用HttpWebRequest实现保持会话上传文件到HTTP的方法
  • 一个简单的c#文件上传类
  • c#批量上传图片到服务器示例分享
  • C#实现图片上传与浏览切换的方法
  • c# FileUpload 上传图片的例子
  • C#实现上传照片到物理路径,并且将地址保存到数据库的小例子
  • c#(.net)上传图片到数据库的实现代码
  • C#实现的Ftp 文件上传与下载类
  • 用C#缩小照片上传到各种空间的具体方法
  • c# 文件上传(单文件、多文件)的实现代码
  • c#多图片上传并生成缩略图的代码
  • c#(asp.net)图片上传且生成高清缩略图的代码
  • c# 服务器上传木马监控代码(包含可疑文件)
  • 100分求一个上传图片的bean,要求上传后能改变文件名称
  • Jquery uploadify图片上传插件无法上传的解决方法
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
  • codeigniter上传图片不能正确识别图片类型问题解决方法
  • 图片上传控件 Dropare
  • 上传图片前判断文件格式与大小验证文件是不是图片
  • HTML5图片拖放上传 Droparea
  • 如何将一幅图片上传并保存在数据库中?
  • 如何实现图片上传、缩放并存放到数据库中
  • 如何实现图片上传
  • PHP上传图片、删除图片的简单示例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • ftp 上传中的文件和上传完的文件 有什么区别
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 用SmartUpload类上传文件有大小限制吗??或者ENCTYPE='multipart/form-data'的form对于上传文件大小有限制??为什么大于1M的文件一上传就显示找不到页面啊!!
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • FTP上传的时候速度慢慢跌到0,然后不能上传
  • 文件上传组件SWFUpload 介绍
  • 请问JSP里面怎样实现上传WORD和EXCEL文件,上传之后如何在IE里面调用显示!!!
  • http协议介绍,文件上传分析及程序举例
  • linux ftp服务器端如何修改文件上传数目与上传字节数的限制?
  • ftp协议介绍及ftp常用的上传下载等操作命令使用方法
  • 为什么我上传文件的时候,如果遇到文件名是中文的,虽然可以上传,但不可以下载,怎么解决?
  • 我要做一个论坛,还要能做软件的上传和下载,文件的上传和下载,要求yizi给与帮助!!!
  • 用SmartUpload上传文件时,最大能支持多大的文件上传?
  • 高分相送,用jspsmartupload上传文件,在webshpere3。5环境里面很好用,但是在4。0里面就只能上传不超过7k的东东了,怎么解决这个问题,
  • 在程序里调用ftp批处理(sh)上传文件,如何判断文件已成功上传
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • apache+php上传大文件以上传100M为例
  • PHP大文件上传问题解析 php大文件上传配置参考
  • Flash的文件上传组件 AlanXUpload
  • 表单文件上传组件 Fastupload


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3