附件--上传

1。

 protected void btnUpLoad_Click(object sender, EventArgs e)
    {
        //执行命令
        ArrayList cmdList = new ArrayList();
        //设置参数
        ArrayList param = new ArrayList();
        try
        {
            //采购单号
            string purchaseno = txtPurchaseOrderNo.Text;
            param.Add(purchaseno);

            //判断是否创建采购单
            if (Convert.ToInt32(DbHelper.ExecuteScalar(this.pageId, SQL005, param)) > 0)
            {
                if (FileUpload1.HasFile == true)
                {
                    byte[] fileData = null;

                    string fileType = "";

                    //得到提交的文件
                    Stream fileDataStream = FileUpload1.PostedFile.InputStream;

                    //得到文件大小
                    int fileLength = FileUpload1.PostedFile.ContentLength;

                    //创建数组
                    fileData = new byte[fileLength];

                    //把文件流填充到数组
                    fileDataStream.Read(fileData, 0, fileLength);

                    //得到文件名字
                    string fileFullName = FileUpload1.PostedFile.FileName;

                    //文件名称check
                    if (fileFullName.Contains("(") || fileFullName.Contains(")"))
                    {
                        //消息提示
                        //System.Web.UI.WebControls.Label lblMessage = (System.Web.UI.WebControls.Label)this.Page.Master.FindControl("lblErrorMessage");
                        //lblMessage.Text = "文件名称不能有中文的()!";
                        string msg = this.GetMessage("Messages", "AttachmentError");
                        f_GetDisplayInfo().f_SetDisplayMessage(msg, Page);

                        return;
                    }

                    string[] FullName = fileFullName.Split('\\');

                    string fileTitle = FullName[FullName.Length - 1];

                    //得到文件类型
                    fileType = FileUpload1.PostedFile.ContentType;

                    //获取附件列表最大ID
                    int AttID = -1;
                    DataTable dt = DbHelper.ExecuteDataTable(this.pageId, SQL009);
                    if (dt.Rows.Count > 0)
                    {
                        AttID = int.Parse(dt.Rows[0]["B31_ID"].ToString()) + 1;
                    }

                    //附件相关字段值
                    param.Clear();
                    //附件ID
                    param.Add(AttID);
                    //采购单号
                    param.Add(txtPurchaseOrderNo.Text);
                    //附件
                    param.Add(fileData);
                    //类型
                    param.Add(fileType);
                    //附件名称
                    param.Add(fileTitle);
                    //附件备注
                    param.Add(txtAtttachRemarks.Text);
                    //创建时间
                    param.Add(UtilDate.f_GetTimeSystem());
                    //创建者
                    param.Add(f_GetSystemData().LoginID);

                    //表B31_Attachment新增附件
                    cmdList.Add(DbHelper.GetDbCommand(this.pageId, SQL006, param));

                    //执行事物
                    DbHelper.ExecuteTransaction(cmdList);

                    //初始化备注
                    txtAtttachRemarks.Text = "";

                    //加载附件数据
                    LoadAttachmentData();
                }
                else
                {
                    //消息提示
                    string msg = this.GetMessage("Messages", "AttachmentSel");
                    f_GetDisplayInfo().f_SetDisplayMessage(msg, Page);
                }
            }
            else
            {
                //消息提示
                //System.Web.UI.WebControls.Label lblMessage = (System.Web.UI.WebControls.Label)this.Page.Master.FindControl("lblErrorMessage");
                //lblMessage.Text = "请先创建采购单!";
                string msg = this.GetMessage("Messages", "AttachmentMessage");
                f_GetDisplayInfo().f_SetDisplayMessage(msg, Page);

                return;
            }
        }
        catch (Exception ex)
        {
            ExceptionHandler(ex);
        }

    }

 

2。

    private bool AddExcelOperateResume(string FilePath, string Remarks)
    {
        try
        {
            //GUID
            string GUID = System.Guid.NewGuid().ToString();
            //操作时间
            string ServerTime = UtilDate.f_GetTimeSystem();
            //文件名
            string FileName = System.IO.Path.GetFileName(FilePath);
            //操作者
            string HoldUser = f_GetSystemData().LoginID;
            //备注
            string Remark = Remarks;

            //文件-以文件流存储
            FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(fs);
            byte[] bytes = br.ReadBytes((int)fs.Length);
            br.Close();
            fs.Close();

            ArrayList paramList = new ArrayList();
            paramList.Add(GUID);
            paramList.Add(ServerTime);
            paramList.Add(FileName);
            paramList.Add(FilePath);
            paramList.Add(HoldUser);
            paramList.Add(Remark);
            paramList.Add(bytes);

            //Excel操作履历写入数据库
            DbHelper.ExecuteNonQuery(this.pageId, "Sql006", paramList);


            // 取出数据履历写入数据库后删除文件
            // 删除已存在的文件
            if (File.Exists(FilePath))
            {
                File.Delete(FilePath);
            }

            return true;
        }
        catch
        {
            return false;
        }
    }

 

下载

    private void GetExcelOperateResume()
    {
        //检索条件设定          
        ArrayList paramList = new ArrayList();
        paramList.Add("0fe67c4d-09c7-4840-85bb-70de25a92f96");

        //检索该库位是否还在使用          
        DataTable dataTable = DbHelper.ExecuteCombine(this.pageId, "Sql007", paramList);

        //检索结果存在时,将检索结果绑定到一览表中。
        if (dataTable != null && dataTable.Rows.Count > 0)
        {
            Response.Buffer = true;

            Response.Clear();

            Response.ContentType = "application/x-msexcel";

            Response.BinaryWrite((byte[])dataTable.Rows[0]["B27_Info"]);
        }
    }

 

 protected void Page_Load(object sender, EventArgs e)
    {
      

        string ID = Request["ID"];

        ArrayList param = new ArrayList();
        DataTable dt = new DataTable();

        param.Add(ID);
        dt = DbHelper.ExecuteCombine(this.pageId, SQL001, param);

        if (dt.Rows[0]["B31_ContractAttachType"].ToString() != "")
        {

 

            if (dt.Rows[0]["B31_ContractAttachType"].ToString().Equals("text/plain"))
            {
                Response.Clear();
                string FileName = dt.Rows[0]["B31_AttachName"].ToString();

                Response.ContentType = "text/plain";
                //Response.Buffer = true;
                Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8));

                Response.AddHeader("Content-Type", ContentType);
                Response.BinaryWrite((byte[])dt.Rows[0]["B31_ContractAttach"]);
                Response.Flush();    
                Response.End();

            }
            else if (dt.Rows[0]["B31_ContractAttachType"].ToString().Equals("text/xml"))
            {
                Response.Clear();
                Response.Buffer = true;
                string FileName = dt.Rows[0]["B31_AttachName"].ToString();
                Response.ClearHeaders();
                Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8));
                Response.AddHeader("Content-Type", "text/xml");
                Response.BinaryWrite((byte[])dt.Rows[0]["B31_ContractAttach"]);

                Response.Flush();
                Response.End();
            }
            else
            {
                Response.Clear();
                Response.ClearContent();
                string FileName = dt.Rows[0]["B31_AttachName"].ToString();
                Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8));
                Response.AddHeader("Content-Type", dt.Rows[0]["B31_ContractAttachType"].ToString());
                Response.BinaryWrite((byte[])dt.Rows[0]["B31_ContractAttach"]);
            }

          
        }

    }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值