如何将上传图片直接保存至SQL Server数据库中

来源:互联网 发布:球球大作战辅助软件 编辑:程序博客网 时间:2024/04/30 10:29

这里演示的是如何将上传图片直接保存至SQL Server数据库中。

在数据库中,图片使用varbinary(MAX)存储:

这是个基于MVC3架构的例子。废话不多说,直接上代码:

View:

@{    ViewBag.Title = "UpLoadImg";}@using (Html.BeginForm("Create", "UpLoadImg", FormMethod.Post, new { enctype = "multipart/form-data" })){    <h2>        UpLoadImg</h2>    <div id="mainform">        <div>            <input type="file" id="UpLoadFile" name="UpLoadFile" />            <input id="btnUpLoad" type="submit" value="上传" />        </div>        <div>        </div>    </div>}


Controller后台Action:

public ActionResult Create()        {            string filename = string.Empty;            string filetype=string.Empty;            byte[]  filecontext=null;            HttpPostedFileBase filebase = Request.Files["UpLoadFile"];            if (filebase.ContentLength > 0)            {                Stream stream = filebase.InputStream;                byte[] by = new byte[filebase.ContentLength];                int i = stream.Read(by,0,filebase.ContentLength);                stream.Close();                string[] arrs = filebase.FileName.Split('\\');                if (arrs.Length > 0)                {                    filename = arrs[arrs.Length - 1];                }                else                {                    filename = filebase.FileName;                }                filetype=filebase.ContentType;                filecontext=by;            }//淡雅一抹繁华,几多思念许他,他不知花开不易,他不懂人心需要珍惜。            int count = 0;            #region 插入数据            try            {                string ImageStore = System.Configuration.ConfigurationManager.AppSettings["ConnectionStrImageStore"].ToString().Trim();                string sqlStr = string.Empty;                sqlStr = @"INSERT INTO [Images] ([filename],[filetype],[filecontext],[uploadtime])                     VALUES(@filename,@filetype,@filecontext,@uploadtime)";                SqlConnection connection = new SqlConnection(ImageStore);                SqlCommand command = new SqlCommand(sqlStr, connection);                command.Parameters.AddWithValue("@filename",filename);                command.Parameters.AddWithValue("@filetype",filetype);                command.Parameters.AddWithValue("@filecontext",filecontext);                command.Parameters.AddWithValue("@uploadtime",DateTime.Now);                command.Connection.Open();                count=command.ExecuteNonQuery();                command.Connection.Close();            }            catch            {                            }            #endregion            if (count > 0)            {                return RedirectToAction("UpLoadImg");            }            else            {                return RedirectToAction("Index");            }        }

结果:

 

原创粉丝点击