首页 > 代码库 > ERP系统上传文档信息下载(十八)

ERP系统上传文档信息下载(十八)

下载的公用方法:

 /// <summary>
       /// 下载文档
       /// </summary>
       /// <param name="TableName">查询表</param>
       /// <param name="column">查询列</param>
       /// <param name="condition">查询条件</param>
       /// <returns>byte[]</returns>
       public static byte[] GetDownDocumet(string TableName,string column,string condition) 
       {
           long  datalen = 0;
           System.Data.SqlClient.SqlDataReader reader= SqlComm.GetDataReaderByCondition(TableName, column, condition);
           byte[] data = http://www.mamicode.com/null;>

 下载:

获取文档二进制流:

 filecontent = Comm.GetDownDocumet("BioCrmCorrelationDocument", "Content", " DocumentID=" + id);

 下载的具体步骤:

protected void lbtndown_Click(object sender, EventArgs e)
        {
            //创建弹出式Windows下载窗体
            Response.AddHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(this.lbName.Text));
            //把二进制数组写入Http输出流
            Response.BinaryWrite(filecontent);
            //想当前客户端缓冲区输出
            Response.Flush();
            //停止执行
            Response.End();

        }

 修改的后台代码:

 static byte[] filecontent = null;
        private void Pageinfoband()
        {
            if (Request.QueryString["ID"] != null)
            {
                string id = Request.QueryString["ID"].ToString();
                BioCrmCorrelationDocumentBLL dbll = new BioCrmCorrelationDocumentBLL();
                DocumentInfoView dv = new DocumentInfoView();
                dv=dbll.getDocumentViewByID(id);
                this.txtsubJect.Text = dv.Subject;
                this.txtRemark.Text = dv.Remark;
                this.lbType.Text = dv.Type;
                this.txtCustomerID.Text = dv.CustomerID.ToString();
                this.ddlLevel.SelectedItem.Text = dv.DocumentLevel;
                this.cbDelete.Checked = dv.DeleteState;
                this.lbExtendName.Text = dv.ExetendName;
                this.lbName.Text = dv.Name;
                filecontent = Comm.GetDownDocumet("BioCrmCorrelationDocument", "Content", " DocumentID=" + id);
                this.lbSize.Text = dv.DocumentSize.ToString();
                this.txtUserName.Text = dv.UserID.ToString();
                this.hf_CustomerDocumentID.Value = http://www.mamicode.com/dv.CustomerDocumentID.ToString();"sender"></param>
        /// <param name="e"></param>
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            BioCrmCorrelationDocument document = new BioCrmCorrelationDocument();
            document.DocumentID =int.Parse( Request.QueryString["ID"].ToString());
            document.Subject = this.txtsubJect.Text;
       
            document.UserID =int.Parse(Session["Userid"].ToString());
            document.Remark = this.txtRemark.Text;
            document.DocumentLevel = this.ddlLevel.SelectedValue;
            
            if (this.FileUpload1.HasFile)
            {
                document.Name = DateTime.Now.ToString("yyyyMMdd hhmmss") + this.FileUpload1.FileName;
                document.Content = this.FileUpload1.FileBytes; 
                document.Type=this.FileUpload1.PostedFile.ContentType;
                document.UploadTime = DateTime.Now;
                document.DocumentSize = this.FileUpload1.FileContent.Length;
                document.ExetendName = System.IO.Path.GetExtension(this.FileUpload1.FileName);
            }
            else
            {
                document.Name = this.lbName.Text;
                document.Content = filecontent;
                document.Type = this.lbType.Text;
                document.UploadTime =Convert.ToDateTime( lbUpdateTime.Text);
                document.DocumentSize =long.Parse(this.lbSize.Text);
                document.ExetendName = this.lbExtendName.Text;
            }

    
            //物理文件上传
            string filepath = Server.MapPath(@"\Files\CRMFiles\");
            if (Comm.FileExists(filepath + this.lbName.Text))
            {
                Comm.FileDelete(filepath + this.lbName.Text);
            }

            Comm.FileUpLoad(this.FileUpload1, filepath, document.Name);
            
            BioCrmCorrelationDocumentBLL documentbll = new BioCrmCorrelationDocumentBLL();
            //文档信息添加 包括文件上传(转换为二进制数组后上传)
            int count= documentbll.BioCrmCorrelationDocumentUpdate(document);
            //文档信息添加成功
            if (count != 0)
            {
                BioCrmCustomerDocument customerdocument = new BioCrmCustomerDocument();
                customerdocument.CustomerDocumentID = int.Parse(this.hf_CustomerDocumentID.Value);
                customerdocument.CustomerID = int.Parse(this.txtCustomerID.Text);
                customerdocument.DeleteState =cbDelete.Checked;
                customerdocument.DocumentID = document.DocumentID;
                BioCrmCustomerDocumentBLL customerdocumentbll = new BioCrmCustomerDocumentBLL();
                   int count1= customerdocumentbll.BioCrmCustomerDocumentUpdate(customerdocument);
                   if (count1 == 0)
                   {
                       SqlComm.DeleteTableByCondition("BioCrmCorrelationDocument", "where DocumentID=" + document.DocumentID);
                   }
                   else
                   {
                       Response.Redirect("DocumentListShow.aspx");
                   }
            }
        }

 不同角色查询不同的文档:

         /// <summary>
        /// 查询所有联系人信息
        /// </summary>
        private void getallPageList()
        {
            string id = Session["Userid"].ToString();
            condition = " and UserID=" + id;
            if (UserLogin.user.RoleId == 8)
            {
                condition = " or UserID !=" + id;
            }
            this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_DoucmentInfo", condition);
            this.AspNetPager1.PageSize = pagesize;
            this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_DoucmentInfo", "*", "DocumentID", condition, pageindex, pagesize);
            this.GridView1.DataBind();           
        }

 

ERP系统上传文档信息下载(十八)