频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

ASP.NET数据库中图片存储及读取

来源: 作者: 出处:巧巧读书 2006-05-06 进入讨论组



  private void button1_click(object sender, system.eventargs e)
  {
   stream imgstream;
   int imglen;

   string imgname_value;
   string imgcontenttype;
   string imguploadedname;
   
   imgstream  = uploadfile.postedfile.inputstream;
   imglen =  uploadfile.postedfile.contentlength;
   imguploadedname = uploadfile.postedfile.filename;
   byte[] imgbinarydata=new byte[imglen];
   imgcontenttype = uploadfile.postedfile.contenttype;
   imgname_value = imgname.value;



   try
   {
    if(imgname_value.length < 1)
    {
     imgname_value = getlastrightof("\\",imguploadedname );
    }
   }
   catch(exception myex)
   {
    response.write(myex.message);
   }



   int n = imgstream.read(imgbinarydata, 0, imglen);          
   int numrowsaffected = mydatabasemethod(imgname_value, imgbinarydata, imgcontenttype);
            if(numrowsaffected > 0)
             response.write( "
 uploaded image " );
   else
             response.write ( "
 an error occurred uploading the image.d " );
  }
  public string getlastrightof(string lookfor,string mystring)
  {
   int strpos;
   strpos = mystring.lastindexof(lookfor);
   return mystring.substring(strpos + 1);
  }
  public int mydatabasemethod(string imgname,byte[] imgbin,string imgcontenttype)
  {
   sqlconnection connection = new sqlconnection(application["test_conn"].tostring());
   string sql="insert into image (img_name,img_data,img_contenttype) values ( @img_name, @img_data,@img_contenttype )";
   sqlcommand command=new sqlcommand ( sql,connection );
            
   sqlparameter param0=new sqlparameter ( "@img_name", sqldbtype.varchar,50 );
   param0.value = imgname;   
   command.parameters.add( param0 );            



   sqlparameter param1=new sqlparameter ( "@img_data", sqldbtype.image );   
   param1.value = imgbin;
   command.parameters.add( param1 );
            
   sqlparameter param2 =new sqlparameter ( "@img_contenttype", sqldbtype.varchar,50 );
   param2.value = imgcontenttype;
   command.parameters.add( param2 );
   
   connection.open();
   int numrowsaffected = command.executenonquery();
   connection.close();
   return numrowsaffected;
  }



  #region web form designer generated code
  override protected void oninit(eventargs e)
  {
   //
   // codegen:该调用是 asp.net web 窗体设计器所必需的。
   //
   initializecomponent();
   base.oninit(e);
  }
  
  /// 
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// 

  private void initializecomponent()
  {    
   this.button1.click += new system.eventhandler(this.button1_click);
   this.load += new system.eventhandler(this.page_load);



  }
  #endregion



  
 }
}



------------------------------------------------------------

保留地址 http://www.qqread.com/dotnet/n893105002.html 更多文章 更多内容请看存储过程数据库专栏数据库处理专题专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章