PDF 以二进制存入数据库 上传,读取,下载

1,上传

前台


<HTML>
<HEAD>
    <title>多文件上传</title>
    <script language="JavaScript">
    function addFile()
    {
    var str = '<INPUT type="file" size="50" NAME="File">'
    document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
    }
    </script>
</HEAD>
<body>
    <form id="form1" method="post" runat="server" enctype="multipart/form-data">
      <div align="center">
        <h3>多文件上传</h3>
        <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
        <P>
          <input type="button" value="增加(Add)" οnclick="addFile()">
          <input οnclick="this.form.reset()" type="button" value="重置(ReSet)">
          <asp:Button Runat="server" Text="开始上传" ID="UploadButton" OnClick="UploadButton_Click"></asp:Button>
        </P>
        <P>
        <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt"
          Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
        </P>
      </div>
    </form>
</body>
</HTML>

后台

public partial class testupload : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void UploadButton_Click(object sender, EventArgs e)
    {
        ///'遍历File表单元素
        HttpFileCollection files = HttpContext.Current.Request.Files;

        /// '状态信息
        System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
        strMsg.Append("上传的文件分别是:<hr color=red>");
        try
        {
            for (int iFile = 0; iFile < files.Count; iFile++)
            {
                ///'检查文件扩展名字
                HttpPostedFile postedFile = files[iFile];
                string fileName, fileExtension;
                fileName = System.IO.Path.GetFileName(postedFile.FileName);
                if (fileName != "")
                {
                    fileExtension = System.IO.Path.GetExtension(fileName);
                    strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
                    strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
                    strMsg.Append("上传文件的文件名:" + fileName + "<br>");
                    strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
                    ///'可根据扩展名字的不同保存到不同的文件夹
                    ///注意:可能要修改你的文件夹的匿名写入权限。
                    postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);
                }
            }
            strStatus.Text = strMsg.ToString();
        }
        catch (System.Exception Ex)
        {
            strStatus.Text = Ex.Message;      
        }
    }
}

2,读取

后台

public partial class readpdf : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {

        string selstand = "select * from stdfile where StandardNumber='" + this.TextBox1.Text.Trim() + "'";
        SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, selstand);

        while (dr.Read())
        {
            Response.ContentType = "application/octet-stream";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(dr.GetString(1)));


            byte[] pdfarray = (byte[])dr["FileContent"];
            Response.BinaryWrite(pdfarray);

            Response.Flush();
            Response.End();
        }
    }
}

3,下载

后台

public partial class downloadpdf : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string path = this.TextBox1.Text.Trim();

        string selstand = "select top "+this.TextBox2.Text.Trim()+" * from stdfile";
        SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, selstand);

        int i = 0;

        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }

        while (dr.Read())
        {
            byte[] pdfarray = (byte[])dr["FileContent"];
            FileStream fs = new FileStream(path+"
\\"+dr.GetString(1), FileMode.Create, FileAccess.Write);
            fs.Write(pdfarray, 0, pdfarray.Length);
            fs.Flush();
            fs.Close();
            i++;
        }
        Response.Write("<font color=red>已成功下载 "+i+ "个PDF 文件</font>");
    }

转载于:https://www.cnblogs.com/qinhaijun/archive/2011/08/26/2154364.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值