当前位置:首页 > 芯闻号 > 充电吧
[导读]  注意:上传大文件时,会出现错误,原因我现在还不知道. 数据库名: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();
    }

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

是德科技(Keysight Technologies, Inc.)与 ETAS 携手为汽车制造商和汽车供应商提供了一个综合车载网络安全解决方案,以便在汽车上路时确保安全。根据双方约定,ETAS 的 ESCRYPT Cyc...

关键字: 智能汽车 数据库 ECU

上海2024年5月27日 /美通社/ -- 自ChatGPT的发布引发全球范围内对大模型的广泛关注以来,目前,国内公布的大模型数量已超过300个,行业呈现出"百模大战"的竞争格局。在此背景下,亿欧近日...

关键字: 模型 APP 数据库 PEN

北京——2024年5月13日 亚马逊云科技游戏行业专属解决方案和全托管无服务器架构助力上海所思互动信息科技有限责任公司(以下简称“所思科技”),成功打造爆款游戏《Party Animals》(中文名称《猛兽派对》)。亚马...

关键字: 服务器 数据库

科睿唯安《全球创新Top100》以该公司拥有的专利数据库为基础,根据“成功率”、“地域投资”、“影响力”、“稀缺性”四个评价维度对知识产权进行分析,评选出全球百强创新企业和机构。该评选从2012年开始每年实施一次,202...

关键字: 数据库 5G 人工智能

北京——2024年2月26日 日前,领先的IT市场研究和咨询公司IDC发布《IDC MarketScape:全球云计算和以应用为中心的市场供应商评估》1报告,亚马逊位列“领导者”类别。报告指出,“亚马逊云科技Market...

关键字: 云计算 数据库 存储

北京——2023年12月27日 在2023亚马逊云科技re:Invent全球大会上,亚马逊云科技表彰了在过去一年中,利用亚马逊云科技的技术和服务在推动客户创新及解决方案构建方面做出杰出贡献的卓越合作伙伴。8家亚马逊云科技...

关键字: 数智化转型 机器学习 数据库

北京——2023年12月7日 亚马逊云科技在2023 re:Invent全球大会上,宣布推出三项新的无服务器服务创新,涵盖了数据库和分析领域,使客户能够更快速、更轻松地扩展他们的数据基础设施,以支持最具挑战性的应用场景。...

关键字: 服务器 人工智能 数据库

北京——2023年12月4日 亚马逊云科技在2023 re:Invent全球大会上,宣布推出一系列新的集成解决方案,旨在帮助客户迅速而轻松地连接和分析数据,而无需构建和管理复杂的提取、转换和加载(ETL)数据管道。通过全...

关键字: 数据存储 数据库 人工智能

北京——2023年11月13日 亚马逊云科技携手凯捷(Capgemini)中国共同发布《汽车行业可持续发展白皮书》(以下简称《白皮书》),并助力凯捷中国推出碳排放管理平台,致力于以数智化方式帮助车企解决在实践可持续发展过...

关键字: 数据库 机器学习 电动汽车

11月1日,由开放原子开源基金会主办,电子科技大学承办,深圳市腾讯计算机系统有限公司提供战略合作支持的2023年开放原子校源行(成都站)活动在电子科技大学圆满举行。本次活动以“聚缘于校,开源共行”为主题,将四川省在信息技...

关键字: 开源模式 操作系统 数据库
关闭
关闭