asp.net对图片的操作

原创 2007年09月23日 13:30:00

上传图片时,对图片名进行验证(是否含有中文或空格)

<form   onsubmit="return   c(this)">  
  <input   type=file   name=ff>  
  <input   type=submit>  
  </form>  
  <script>  
  function   c(o)  
  {  
  str   =   o.ff.value.substr(o.ff.value.lastIndexOf("//")+1)  
  if(/[   /u4e00-/u9fa5]/.test(str))  
  {  
  alert("不得中文,空格")  
  return   false  
  }  
  }  
  </script> 

使用asp.net实现对数据库里的图片进行存取

方法一(使用流操作):

存图片:

数据库里image表中只有两个字段:一个是imageID,另一个是image(存放图片数据)是image类型

 Stream stream = this.File1.PostedFile.InputStream;
        int len = this.File1.PostedFile.ContentLength;
        byte[] image = new byte[len];
        int n = stream.Read(image, 0, len);
        SqlConnection con = new SqlConnection("Data Source=.//SQLEXPRESS;Initial Catalog=test;Integrated Security=True");
        con.Open();

//---------------------------------------------------------------------------------------------------------------------------
        SqlCommand cmd = new SqlCommand("insert into image values(@image)", con);
        SqlParameter paramData = new SqlParameter("@image", SqlDbType.Image);
        paramData.Value = image;
        cmd.Parameters.Add(paramData);

//---------------------------------------------------------------------------------------------------------------------------

上面这段不能用sqlcommand cmd=new Sqlcommand("insert into image values('"+image+"')",con);

代替,会显示不出图片的,只显示system byte[]

        cmd.ExecuteNonQuery();
        con.Close();

取图片:

 string sql = "SELECT image FROM image ";
        SqlConnection connection = new SqlConnection("Data Source=.//SQLEXPRESS;Initial Catalog=test;Integrated Security=True");
        SqlCommand command = new SqlCommand(sql, connection);
        connection.Open();
        SqlDataReader dr = command.ExecuteReader();
        if (dr.Read())
        {
            Response.ContentType = "image/jpeg";
            Response.BinaryWrite((byte[])dr["image"]);//这种方法只能显示第一张图片(显示多张图片见下文方法)
        }
              connection.Close();

方法二:(用存取图片路径的方法)

其方法在服务器段建立一文件夹存图片(本文用UpFile)注意:UpFile文件夹要允许EveryOne用户有写入权限

数据库表有三个字段:id(自增),imagename,imageurl

存图片:

//上传图片并显示
        string name = this.FileUpload1.PostedFile.FileName;//图片路径
        if (name.Length != 0)
        {
            int start = name.LastIndexOf('//');
            int last = name.LastIndexOf('.');
            string imagename = name.Substring(start + 1, last - start - 1);//图片名 注意:文件名如果有空格或中文用上面的脚本进行验证
            this.FileUpload1.PostedFile.SaveAs(Server.MapPath("UpFile") + "//" + imagename + ".jpg");
            this.ImageButton1.ImageUrl = HttpContext.Current.Server.MapPath("UpFile") + "//" + imagename + ".jpg";
            SqlConnection con = new SqlConnection("Data Source=.//SQLEXPRESS;Initial Catalog=test;Integrated Security=True");
            con.Open();
            SqlCommand cmd = new SqlCommand("insert into imagedetail values('" + imagename + "','" + url + "')", con);
            cmd.ExecuteNonQuery();
            con.Close();
        }

取图片:

直接取imageurl字段值赋予相应图片控件的imageurl属性,即可。

(读取多张图片的方法,待续。。)

Asp.net MVC防止图片盗链的实现方法,通过自定义RouteHandler来操作

本文告诉你如何在ASP.NET MVC中实现一个自定义RouteHandler来防止其他人盗链你的图片. 首先,我们来回顾一下当一个请求发往ASP.net MVC站点时的情景,IIS收到请求并将请求...

asp.net图片操作

  • 2013年08月24日 21:10
  • 29KB
  • 下载

在Asp.Net中操作PDF – iTextSharp - 操作图片

转自:http://www.cnblogs.com/CareySon/archive/2011/11/07/2239017.html iTextSharp支持所有主流的图片格式,比如:jpg, ...

Asp.Net FileUpload选择图片后预览,并直接上传

FileUpload选择图片后先预览图片,然后上传。 使用到FileUpload的onchange事件,及使用一般处理程序(.ashx)来预览图片。 func...

asp.net上传图片并同时生成缩略图

using System; using System.Data; using System.Configuration; using System.Collections; using System....

asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像

using System; using System.Web; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Da...

asp.net 二进制数据写入及读出以 图片方式展现

前端时间做视频智能监控,第三方自动拍照时保存至数据库,以二进制存入。 为了团队更方便后续关于此功能的开发。在此做下简易的总结:1. 数据库里 用 varbinary(MAX) , PerHomeL...

asp.net+swfupload 多图片批量上传(附源码下载)

asp.net的文件上传都是单个文件上传方式,无法执行一次性多张图片批量上传操作,要实现多图片批量上传需要借助于flash,通过flash选取多个图片(文件),然后再通过后端服务进行上传操作. ...
  • oupera
  • oupera
  • 2015年08月18日 16:26
  • 492

asp.net+js+ajax实现手机移动端页面预览、剪裁、上传头像图片

参考资料:支持移动设备触摸图片裁剪的jQuery插件 移动端html 测试html --> ...

ASP.Net将图片以二进制方式存入数据库,并读取

把图片转换成二进制--把二进制转换成图片 private void button1_Click(object sender, EventArgs e) ...
  • my98800
  • my98800
  • 2016年11月08日 09:17
  • 1064
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net对图片的操作
举报原因:
原因补充:

(最多只允许输入30个字)