当前位置:首页 > 芯闻号 > 充电吧
[导读]  注意:上传大文件时,会出现错误,原因我现在还不知道. 数据库名:mydata 表名:table_img 字段:id   自动编号 filename   文本 img     OLE 对象   d

 <
  


   

     

       

       

     
   


 

 

default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            if (FileUpload1.HasFile)
            {
                if (IsAllowedExtension(this.FileUpload1))
                {
                    //取得上传文件的大小
                    int FileLen = FileUpload1.PostedFile.ContentLength;

                    Byte[] FileData = new Byte[FileLen];

                    //创建访问客户端上传文件的对象
                    HttpPostedFile hp = FileUpload1.PostedFile;

                    //创建数据流对象
                    Stream sr = hp.InputStream;

                    //将图片数据放到FileData数组对象实例中,0代表数组指针的起始位置,FileLen代表指针的结束位置
                    sr.Read(FileData, 0, FileLen);
                    string strdatapath = "Provider = Microsoft.JET.OleDB.4.0;Data Source = " + Server.MapPath("mydata.mdb");
                    OleDbConnection conn = new OleDbConnection(strdatapath);
                    conn.Open();
                    OleDbCommand cmd = new OleDbCommand("insert into table_img(filename,img) values(filename,img)", conn);

                    //存储过程插入到数据库中
                    OleDbParameter para1 = new OleDbParameter("filename", OleDbType.VarChar);
                    para1.Value = "FileData";
                    cmd.Parameters.Add(para1);
                    //存储过程插入到数据库中
                    OleDbParameter para = new OleDbParameter("img", OleDbType.Binary);
                    para.Value = FileData;
                    cmd.Parameters.Add(para);
                    cmd.ExecuteNonQuery();

                    //弹出上传成功的提示
                    Response.Write("");
                  //  Response.Write("");

                    //关闭数据库连接
                    conn.Close();

                }
                else
                {
                    Response.Write("");
                  //  Response.Write("");
                }
            }
            else
            {
                Response.Write("");
               // Response.Write("");
            }
        }
        catch (Exception ex)
        {
              Response.Write(ex.Message);
            throw new Exception(ex.Message + "数据库连接失败");
        }


    }

    #region 实现真正意义上的文件类型判断
    public static bool IsAllowedExtension(FileUpload hifile)
    {
        System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
        System.IO.BinaryReader r = new System.IO.BinaryReader(fs);
        string fileclass = "";
        byte buffer;
        try
        {
            buffer = r.ReadByte();
            fileclass = buffer.ToString();
            buffer = r.ReadByte();
            fileclass += buffer.ToString();

        }
        catch
        {
        }
        r.Close();
        fs.Close();
        if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    #endregion

}

 

 

 

显示图片

 protected void Button2_Click(object sender, EventArgs e)
    {
        // 在此处放置用户代码以初始化页面

        show();  //显示图片

    }
    public void show()
    {
        string strdatapath = "Provider = Microsoft.JET.OleDB.4.0;Data Source = " + Server.MapPath("mydata.mdb");
        OleDbConnection conn = new OleDbConnection(strdatapath);
       // conn.Open();
        string ss = "1";// Request.QueryString["id"].ToString();
        string s3 = "select * from table_img  where id=" + ss;
        OleDbCommand comm = new OleDbCommand(s3, conn);
        conn.Open();
        OleDbDataReader dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
        while (dr.Read())
        {
            Response.Clear();
          //  Response.C;
            Response.BinaryWrite((byte[])dr["img"]);//读取
        }
        Response.End();
        conn.Close();
    }

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭