public void FileProcess(Page page, HttpWebResponse wr, string query, string orPath) { var comId = ""; var dpath = ""; var dic = HttpUtility.ParseQueryString(query); if ("/download.php" == orPath) { comId = dic["companyID"]; dpath = dic["path"]; } else { comId = HttpContext.Current.Session["ComID"].ToString(); dpath = dic["serial"] + ".pdf"; } if (string.IsNullOrEmpty(comId) || string.IsNullOrEmpty(dpath)) { return; } var fileName = dpath.Substring(dpath.LastIndexOf('/') + 1); string datatime = System.DateTime.Now.ToString("yyyyMMddHHmmssffff"); var newFileName = datatime + fileName; var filePath = HttpContext.Current.Server.MapPath("/UploadFiles/") + newFileName; byte[] buffer = new byte[1024]; Stream outStream = File.Create(filePath); Stream inStream = wr.GetResponseStream(); int l; do { l = inStream.Read(buffer, 0, buffer.Length); if (l > 0) { outStream.Write(buffer, 0, l); } } while (l > 0); outStream.Close(); inStream.Close(); List <SqlParameter> parameters = new List <SqlParameter>(); parameters.Add(new SqlParameter("@ComID", DbType.AnsiString) { Value = comId }); parameters.Add(new SqlParameter("@FileName", DbType.AnsiString) { Value = fileName }); Admin.Model.FileList exists = _fileListDal.GetModel(" ComID=@ComID and FileName=@FileName ", parameters); var user = HttpContext.Current.Session["CurrentUser"] as Admin.Model.OrgUsers; var model = new Admin.Model.FileList(); model.UId = user.UId; model.ComID = comId; model.FileName = fileName; model.FPath = newFileName; if (null != exists) { model.ID = exists.ID; model.UpdateDate = DateTime.Now; _fileListDal.Update(model); } else { model.CreateDate = DateTime.Now; _fileListDal.Add(model); } page.Response.Clear(); page.Response.Charset = "utf-8"; page.Response.Buffer = true; page.EnableViewState = false; page.Response.ContentEncoding = System.Text.Encoding.UTF8; page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName); page.Response.WriteFile(filePath); page.Response.Flush(); page.Response.Close(); page.Response.End(); }
public void FileProcess(Page page, HttpWebResponse wr, string query, string orPath) { var comId = ""; var dpath = ""; var dic = HttpUtility.ParseQueryString(query); if ("/download.php" == orPath) { comId = dic["companyID"]; dpath = dic["path"]; } else { comId = HttpContext.Current.Session["ComID"].ToString(); dpath = dic["serial"] + ".pdf"; } if (string.IsNullOrEmpty(comId) || string.IsNullOrEmpty(dpath)) return; var fileName = dpath.Substring(dpath.LastIndexOf('/') + 1); string datatime = System.DateTime.Now.ToString("yyyyMMddHHmmssffff"); var newFileName = datatime + fileName; var filePath = HttpContext.Current.Server.MapPath("/UploadFiles/") + newFileName; byte[] buffer = new byte[1024]; Stream outStream = File.Create(filePath); Stream inStream = wr.GetResponseStream(); int l; do { l = inStream.Read(buffer, 0, buffer.Length); if (l > 0) outStream.Write(buffer, 0, l); } while (l > 0); outStream.Close(); inStream.Close(); List<SqlParameter> parameters = new List<SqlParameter>(); parameters.Add(new SqlParameter("@ComID", DbType.AnsiString) { Value = comId }); parameters.Add(new SqlParameter("@FileName", DbType.AnsiString) { Value = fileName }); Admin.Model.FileList exists = _fileListDal.GetModel(" ComID=@ComID and FileName=@FileName ", parameters); var user = HttpContext.Current.Session["CurrentUser"] as Admin.Model.OrgUsers; var model = new Admin.Model.FileList(); model.UId = user.UId; model.ComID = comId; model.FileName = fileName; model.FPath = newFileName; if (null != exists) { model.ID = exists.ID; model.UpdateDate = DateTime.Now; _fileListDal.Update(model); } else { model.CreateDate = DateTime.Now; _fileListDal.Add(model); } page.Response.Clear(); page.Response.Charset = "utf-8"; page.Response.Buffer = true; page.EnableViewState = false; page.Response.ContentEncoding = System.Text.Encoding.UTF8; page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName); page.Response.WriteFile(filePath); page.Response.Flush(); page.Response.Close(); page.Response.End(); }