asp.net 上传下载文件

本文介绍了一个使用 ASP.NET 的文件上传示例,并详细展示了如何将文件数据及元信息存储到 Oracle 数据库中。此外,还实现了文件的下载功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System.IO;

  byte[] File = null;
        if (upf1.PostedFile.ContentLength > 0)
        {
            string[] FileSplite = upf1.PostedFile.FileName.Split('//');//取得文件名称
            fn = FileSplite[FileSplite.Length - 1];
            ft = upf1.PostedFile.ContentType;
            string faan = Server.MapPath(".") + "//upload//" + fn;
            upf1.PostedFile.SaveAs(faan);
            FileInfo fi = new FileInfo(faan);
            FileStream fs = fi.OpenRead();
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, Convert.ToInt32(fs.Length));
            File = bytes;
            fs.Flush();
            fs.Close();
            fi = null;
            fi = new FileInfo(faan);
            fi.Delete();
            fi = null;
        }
        string conn = ConfigurationManager.AppSettings["Oracle9iConnStr"];
        OracleConnection MyConnection = new OracleConnection(conn);
        OracleCommand MyCommand = new OracleCommand();
        MyCommand.Connection = MyConnection;
        OracleDataAdapter objDataAdapter = new OracleDataAdapter();
        objDataAdapter.SelectCommand = MyCommand;
        DataSet Sett = new DataSet();
        string str12 = "select * from sz_disk where fpath='" + Request.Form["fpath"].Trim().ToString() + "' and fname='" + Request.Form["fname"].Trim().ToString().Replace("'", "") + "' and id<>" + id;
        MyCommand.CommandText = str12;
        objDataAdapter.Fill(Sett, "c");
        if (Sett.Tables["c"].Rows.Count > 0)
        {
            Response.Write("<scr" + "ipt language=javascript>alert('已有此文件!');</scr" + "ipt>");
            return;
        }
        OracleCommandBuilder cb = new OracleCommandBuilder(objDataAdapter);

        string str2 = "select * from sz_disk where id=" + id;
        MyCommand.CommandText = str2;
        objDataAdapter.Fill(Sett, "b");
        DataRow dr1 = Sett.Tables["b"].Rows[0];
        //dr1["fpath"]=Request.Form["fpath"].Trim().ToString();
        if (Request.Form["fname"].Trim().ToString().Replace("'", "") != "")
        {
            dr1["fname"] = Request.Form["fname"].Trim().ToString().Replace("'", "");
        }
        else
        {
            dr1["fname"] = System.DBNull.Value;
        }
        if (Request.Form["keyword"].Trim().ToString() != "")
        {
            dr1["keyword"] = Request.Form["keyword"].Trim().ToString();
        }
        else
        {
            dr1["keyword"] = System.DBNull.Value;
        }
        //dr1["oper"]=Request.Form["oper"].Trim().ToString();
        dr1["ctime"] = DateTime.Now;
        if (File != null)
        {
            dr1["filedata"] = File;
            dr1["filetype1"] = ft;
            dr1["Filename"] = fn;
        }
        dr1["fileimage"] = Request.Form["fi"].ToString();
        switch (Request.Form["fi"].ToString())
        {
            case "doc.jpg":
                dr1["filetype"] = "word文档";
                break;
            case "ppt.jpg":
                dr1["filetype"] = "演示文档";
                break;
            case "htm.jpg":
                dr1["filetype"] = "网页文件";
                break;
            case "swf.jpg":
                dr1["filetype"] = "flash文件";
                break;
            case "jpg.jpg":
                dr1["filetype"] = "图片文件";
                break;
            case "txt.jpg":
                dr1["filetype"] = "文本文件";
                break;
            case "mdb.jpg":
                dr1["filetype"] = "access数据库";
                break;
            case "xls.jpg":
                dr1["filetype"] = "excel文档";
                break;
            case "mp3.jpg":
                dr1["filetype"] = "音频文件";
                break;
            case "zip.jpg":
                dr1["filetype"] = "压缩文件";
                break;
            case "png.jpg":
                dr1["filetype"] = "fireworks文件";
                break;
            default:
                dr1["filetype"] = "未知类型";
                break;
        }
        if (Request.Form["content"].Trim().ToString().Replace("'", "") != "")
        {
            dr1["content"] = Request.Form["content"].Trim().ToString().Replace("'", "");
        }
        else
        {
            dr1["content"] = System.DBNull.Value;
        }
        //Response.Write("<scr"+"ipt>alert('"+Session["name"].ToString()+"');</scr"+"ipt>");
        //Sett.Tables["b"].Rows.Add(dr1);
        objDataAdapter.Update(Sett, "b");
        Sett.Clear();
        Response.Write("<scr" + "ipt language=javascript>alert('保存成功!');window.opener.location.reload();window.opener='';window.close();</scr" + "ipt>");
   

 

 

 public void file_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
        string conn = ConfigurationManager.AppSettings["Oracle9iConnStr"];
        string StrSql1 = "select * from sz_disk where id=" + id;
        //Response.Write(StrSql1);
        //Response.End();
        OracleConnection MyConnection = new OracleConnection(conn);
        OracleCommand MyCommand = new OracleCommand();
        MyCommand.Connection = MyConnection;
        OracleDataAdapter objDataAdapter = new OracleDataAdapter();
        objDataAdapter.SelectCommand = MyCommand;
        DataSet objectSet1 = new DataSet();
        MyCommand.CommandText = StrSql1;
        objDataAdapter.Fill(objectSet1, "b");
        DataRow dr1 = objectSet1.Tables["b"].Rows[0];
        Response.Clear();
        //byte[] File=null;
        //File=(byte[])dr1["filedata"];
        Response.ContentType = dr1["filetype1"].ToString();
        Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(dr1["filename"].ToString(), System.Text.Encoding.UTF8));
        Response.BinaryWrite((byte[])dr1["filedata"]);
        Response.End();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值