⑴ 如何向数据库中添加图片,并显示出来。asp.net实现。这个必须要源码啊。
存到数据库中:
首先用一个FileUpload控件来浏览选择图片
<asp:FileUpload ID="fulBook" runat="server" />
创个按钮,然后.cs中按钮的代码
/// <summary>
/// 更新图书,更新命令激发后,将更换的图片上传
/// </summary>
protected void dvBookList_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
FileUpload fulBook = this.dvBookList.FindControl("fulBook") as FileUpload;
string FileName = fulBook.FileName;
if (FileName.Trim().Trim().Length != 0)
{
string strpath = Server.MapPath("~/images/BookCovers/" + txtISBN.Text.Trim()+ ".jpg");
//图片上传到images/BookCovers文件夹中并改为textIDBN中的名字
fulBook.PostedFile.SaveAs(strpath);//把图片保存在此路径中。也可以
//也可以 string strpath = Server.MapPath("~/images/BookCovers/" );
//fulBook.PostedFile.SaveAs(strpath+FileName);原名上传到images/BookCovers中
然后写sql语句(INSERT INTO 表名(Title,ISBN) VALUES (‘{0}','{1}'),txtISBN.Text.Trim(),srtpath)添加到数据库……
}
}
显示:
添加一个datalist 在datalist中添加一个图片img
<asp:DataList ID="dlBooks" runat="server">
<ItemTemplate>
<div>
<img style="CURSOR: hand" height="121"
alt="<%# Eval("Title") %>"
src="<%# GetUrl(Eval("ISBN").ToString()) %>" width="95" hspace="4"/>
</div>
</ItemTemplate>
</asp:DataList>
其中Eva("isbn")绑定的数据库中图片路径列 Eval(''title'')绑定的是数据库中的图片名称的列
cs中dlBooks.DataSource = ……;
dlBooks.DataBind();
⑵ 如何在ASP.Net 中把图片存入数据库
一 介绍可能有很多的时候 我们急需把图片存入到数据库当中 在一些应用程序中 我们可能有一些敏感的资料 由于存储在文件系统(file system)中的东西 将很容易被某些用户盗取 所以这些数据不能存放在文件系统中
在这篇文章中 我们将讨论怎样把图片存入到Sql 当中
在这篇文章中我们可以学到以下几个方面的知识
插入图片的必要条件
使用流对象
查找准备上传的图片的大小和类型
.怎么使用InputStream方法?
在我们开始上传之前 有两件重要的事我们需要做
(1)Form 标记的 enctype 属性应该设置成 enctype= multipart/form data
(2) 需要一个<input type=file>表单来使用户选择他们要上传的文件 同时我们需要导入 System IO名称空间来处理流对象
把以上三点应用到aspx页面 同时我们需要对SqlServer做以下的准备
(1)需要至少含有一个图片类型的字段的表
(2)如果我们还有另外一个变字符类型的字段来存储图片类型 那样会更好一些
现在 我们准备了一个Sql表(包含了一个image数据类型的字段) 还有<input type=file>标记 当然我们还得准备Submit按钮 以便用户在选择了图片以后提交 在这个按钮的Onclick事件里 我们需要读取选取图片的内容 然后把它存入到表里 那我们先来看看这个Onclick事件
提交按钮的Onclick事件的代码
Dim intImageSize As Int Dim strImageType As StringDim ImageStream As Stream
Gets the Size of the ImageintImageSize = PersonImage PostedFile ContentLength
Gets the Image TypestrImageType = PersonImage PostedFile ContentType
Reads the ImageImageStream = PersonImage PostedFile InputStream
Dim ImageContent(intImageSize) As ByteDim intStatus As IntegerintStatus = ImageStream Read(ImageContent intImageSize)
Create Instance of Connection and Command ObjectDim myConnection As New SqlConnection(ConfigurationSettings AppSettings( ConnectionString ))Dim myCommand As New SqlCommand( sp_person_isp myConnection)
Mark the Command as a SPROCmyCommand CommandType = CommandType StoredProcere
Add Parameters to SPROCDim prmPersonImage As New SqlParameter( @PersonImage SqlDbType Image)prmPersonImage Value = ImageContentmyCommand Parameters Add(prmPersonImage)
Dim prmPersonImageType As New SqlParameter( @PersonImageType SqlDbType VarChar )prmPersonImageType Value = strImageTypemyCommand Parameters Add(prmPersonImageType)
TrymyConnection Open()myCommand ExecuteNonQuery()myConnection Close()Response Write( New person successfully added! )Catch SQLexc As SqlExceptionResponse Write( Insert Failed Error Details are: & SQLexc ToString())End Try
这是怎么工作的呢?PersonImage是HTMLInputFile控件的对象 首先需要获得图片的大小 可以使用下面的代码实现
intImageSize = PersonImage PostedFile ContentLength
然后返回图片的类型使用ContenType属性 最后 也是最重要的事就是取得Image Stream 这可以用以下代码实现
ImageStream = PersonImage PostedFile InputStream
我们需要一个字节型数组来存储image 内容 读取整个图片可以使用Stream对象的Read方法来实现 Read(in byte[] buffer int offset int count)方法有三个参数 【关于Read方法的详细内容可以参看 Net FrameWorkSDK】 他们是
buffer字节数组 此方法返回时 该缓冲区包含指定的字符数组 该数组的 offset 和 (offset + count) 之间的值由从当前源中读取的字节替换
offsetbuffer 中的从零开始的字节偏移量 从此处开始存储从当前流中读取的数据
count要从当前流中最多读取的字节数
这个Read方法用以下代码实现 intStatus = ImageStream Read(ImageContent intImageSize)现在 我们已经读取了整个图片的内容 下一步 我们要把这些内容存入到sql 表 我们将使用存储过程来完成插入图片类型和图片内容到sql 表 如果你浏览了上面的代码 你将会发现我们使用了sqldbtype image的数据类型(datatype) Ok了 完成了这些 我们也就成功的把图片存入到SqlServer中了 下面是我们编写的aspx页面
二 结论
lishixin/Article/program/net/201311/15186
⑶ 我要使用ASP.NET+Access实现图片上传存储到Access数据库的image中;而image存储的是文件夹中jpg图片路径
<input runat="server" id="upfile" type="file" />直接给个上传按钮,用Jquery写
$(document).ready(function () {
$("#upfile").uploadify({
里面上传的文件夹为
'folder': '../../images',
然后还有设置回传图片
onComplete: function(){
document.getElementById("img").src = "../../images/" + response + ".jpg";
}