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+swfupload 多图片批量上传(附源码下载)

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

ASP.NET Ajax实现图片剪裁

ASP.NET Ajax实现图片剪裁 序言: 上次发了几个jQuery的插件和些心得, 很多园友(也许是自己站上的)发邮件希望能提供更多的源码, 正好这次有个同学希望在自己的坛子上挂个图片...

ASP.NET+ExtJs4.0+表单提交submit,上传图片到服务器

function login_click(b) { //1.拿到表单面板 var loginFormPanel=Ext.getCmp("loginF...

ASP.NET图片验证码的实现

ASP.NET     图文 验证码          虽然我认为图片验证码没有什么用,并且也特别的烦人(每次上移动的网站都要频频地输入验证码),但人家要求,也只好弄一个...

asp.net 图片截图

前台代码   图片的无级截取 #rRightDown,#rLeftDown,#rLeftUp,#rRightUp,#rRight,#rLeft,#rUp,#rDow...

ASP.NET图片防盗链

网站A是有图片的网站;网站B要通过盗链来获取图片展现给用户。 如何防止盗链 在网站A ,定义一个类,就叫 Image保护.cs using System; using System.Colle...

ASP.NET使用Jcrop插件实现图片上传裁剪功能

一、需求 1.需求:在Web端实现上传图片功能的基础上,增加预览图片并裁剪图片功能。 2.未更改之前如下图所示: 3.更改后的功能,当点击浏览(原生input type='file'控件)选...

asp.net GirdView按钮变为图片时画面和事件执多次问题(已解决)

前台画面一个编集按钮和一个删除按钮。 删除按钮用gridview自带的删除功能。  删除按钮为图片时,会出现多刷新一次的问题。         Height="178px" Widt...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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