/// <summary> /// 上传或加载页面时绑定已经上传的立项报告 /// </summary> /// <param name="fNameInDocLib">The f name in document library.</param> private void BindMyFile(string fNameInDocLib) { fileDiv.Visible = true; proj_ProjectFile myPFile = ProjectDll.BLL.ProjectFileBll.GetFileByFileNameInDocLib(fNameInDocLib); if (myPFile != null) { fileDiv.Controls.Clear(); var hccFiles = new HtmlGenericControl("div"); string fileInfoStr = "<span> 已上传报告:</span>"; fileInfoStr += myPFile.FileName + "(" + ProjectDll.DAL.Common.HumanReadableFilesize(double.Parse(myPFile.FileSize)) + ") "; hccFiles.Controls.Add(new LiteralControl(fileInfoStr)); var iBtnDel = new ImageButton { ImageUrl = "./images/delete.png", ToolTip = "点击删除该文件并重新上传", Width = 24, CausesValidation = false, CommandArgument = myPFile.FileID.ToString(), CommandName = "fileDel" + myPFile.FileID, ID = "btnDel" + myPFile.FileID, OnClientClick = "javascript:return confirm('确定删除该项目报告并重新上传吗?');" }; iBtnDel.Click += btnDelFile_Click; iBtnDel.Attributes.Add("class", "btn"); hccFiles.Controls.Add(iBtnDel); fileDiv.Controls.Add(hccFiles); } }
/// <summary> /// Gets the name of the project identifier by file. /// </summary> /// <param name="pfName">Name of the pf.</param> /// <returns>System.Int64.</returns> public static long GetProjectIdByFileName(string pfName) { long pfId = 0; using (ProjectEntities db = new ProjectEntities()) { proj_ProjectFile pFile = db.proj_ProjectFile.FirstOrDefault(w => w.FileName.Equals(pfName)); if (pFile != null) { pfId = pFile.FileID; } } return(pfId); }
/// <summary> /// 删除文件 /// </summary> /// <param name="fileId">文件ID</param> /// <param name="delBy">删除人ID</param> /// <param name="delTime">删除时间</param> /// <returns></returns> public static long DelFileById(long fileId, long delBy, DateTime delTime) { using (ProjectEntities db = new ProjectEntities()) { proj_ProjectFile file = db.proj_ProjectFile.SingleOrDefault(p => p.FileID == fileId); if (file != null) { file.ModifiedBy = delBy; file.Modified = delTime; file.Flag = 0;//项目删除 db.SaveChanges(); } return(1); } }
void btnDelFile_Click(object sender, ImageClickEventArgs e) { long userId = ProjectDll.BLL.User.GetUserId(); var btn = (ImageButton)sender; btn.CausesValidation = false; long fileId = long.Parse(btn.CommandArgument); proj_ProjectFile pf = ProjectDll.BLL.ProjectFileBll.GetFileByFileId(fileId); string fNameInDocLib = pf.FileNameInDocLib; DelListItem(fNameInDocLib, "ProjectReports"); //删除文档库文件 ProjectDll.DAL.ProjectFileDAL.DelFileById(fileId, userId, DateTime.Now); //删除数据库项 fileDiv.InnerHtml = "你还未上传立项报告,请及时上传!"; lixiangFile.Visible = true; btnNewFile.Visible = true; }
/// <summary> /// Inserts the project file. /// </summary> /// <param name="drFile"></param> /// <returns>System.Int64.</returns> public static long InsertProjectFile(proj_ProjectFile drFile) { using (ProjectEntities db = new ProjectEntities()) { proj_ProjectFile projectFile = new proj_ProjectFile(); projectFile.FileName = drFile.FileName; projectFile.FileNameInDocLib = drFile.FileNameInDocLib; projectFile.FilePurpose = drFile.FilePurpose; projectFile.FilePath = drFile.FilePath; projectFile.FileSize = drFile.FileSize; projectFile.CreatedBy = drFile.CreatedBy; projectFile.Created = drFile.Created; projectFile.Flag = drFile.Flag; db.proj_ProjectFile.Add(projectFile); db.SaveChanges(); return(projectFile.FileID); } }
private void ShowLixiangFile(long projId) { proj_ProjectFile pFile = ProjectDll.BLL.ProjectFileBll.GetFileByProjIdandPurpose(projId, 1).FirstOrDefault(); if (pFile != null) { hdfFile.Value = pFile.FileID.ToString(); BindMyFile(pFile.FileNameInDocLib); lbDocType.Visible = false; } else { fileDiv.InnerHtml = "你还未上传立项报告,请及时上传!"; fileDiv.Attributes.CssStyle.Add("color", "red"); lixiangFile.Visible = true; lbDocType.Visible = true; btnNewFile.Visible = true; } }
public static long UpdataFile(proj_ProjectFile drFile) { using (ProjectEntities db = new ProjectEntities()) { proj_ProjectFile projectFile = db.proj_ProjectFile.SingleOrDefault(p => p.FileID == drFile.FileID); if (projectFile != null) { projectFile.FileName = drFile.FileName; projectFile.FileNameInDocLib = drFile.FileNameInDocLib; //projectFile.FilePurpose = drFile.FilePurpose; projectFile.FilePath = drFile.FilePath; projectFile.FileSize = drFile.FileSize; projectFile.ModifiedBy = drFile.ModifiedBy; projectFile.Modified = drFile.Modified; db.SaveChanges(); } return(1); } }
private void ShowLixiangFile(long projId) { proj_ProjectFile pFile = ProjectDll.BLL.ProjectFileBll.GetFileByProjIdandPurpose(projId, 1).FirstOrDefault(); if (pFile != null) { hdfFile.Value = pFile.FileID.ToString(); fileInfo.InnerHtml = " 名称: <b> " + pFile.FileName + " </b> 上传时间: <b> " + pFile.Created + " </b>"; fileInfo.Attributes.CssStyle.Add("color", "black"); lixiangFile.Visible = false; lbDocType.Visible = false; btnNewFile.Visible = true; btnFileCancel.Visible = false; } else { fileInfo.InnerHtml = "你还未上传立项报告,请及时上传!"; fileInfo.Attributes.CssStyle.Add("color", "red"); lixiangFile.Visible = true; lbDocType.Visible = true; btnNewFile.Visible = true; btnNewFile.Text = "现在上传"; } }
protected void SaveProject_OnClick(object sender, EventArgs e) { #region 表单更新信息(学科ID,项目介绍,修改时间,修改人) //学科选择 long subjectId; if (long.Parse(ddlSubjectC.SelectedValue) != 0) { subjectId = long.Parse(ddlSubjectC.SelectedValue); } else { //当2级学科有值时 if (long.Parse(ddlSubjectB.SelectedValue) != 0) { subjectId = long.Parse(ddlSubjectB.SelectedValue); } else { //当1级学科有值时 if (long.Parse(ddlSubjectA.SelectedValue) != 0) { subjectId = long.Parse(ddlSubjectA.SelectedValue); } else { ProjectDll.DAL.Common.Alert("还未选择项目所属学科!"); ddlSubjectA.Focus(); return; } } } #endregion #region 判断项目立项报告是否修改 if (hdfFile.Value != "0") { long fileId = long.Parse(hdfFile.Value); proj_ProjectFile myfile = ProjectDll.BLL.ProjectFileBll.GetFileByProjIdandPurpose(fileId, 1).FirstOrDefault();// if (myfile != null) { DelListItem(myfile.FileNameInDocLib, "ProjectReports"); } ProjectDll.DAL.ProjectFileDAL.DelFileById(fileId, currentUserId, DateTime.Now); } #endregion #region 所有表单信息验证已通过,生成项目记录 //判断是新建还是更新,新建则调用NewProject,否则调用UpdataProject long pid = GetUrlSendProjectId; //项目ID初始化 if (pid > 0) //有项目ID传值,说明是编辑页面,则执行更新功能 { var dr = new Proj_Project { ProjectID = pid, //即将更新的项目Id Introduce = txtIntro.Value, //项目简介 ModifiedBy = currentUserId, //发布人 ModifyTime = DateTime.Now, //发布时间 SubjectID = subjectId, //学科ID Flag = 1 //显示隐藏标记 }; ProjectDll.DAL.ProjectDal.UpdateProjectById(dr); } Response.Redirect("MyProjects.aspx"); Page.RegisterStartupScript("温馨提示", String.Format("<script language=\"javascript\">alert(\"{0}\");window.location.replace(\"{1}\")</script>", "项目: “" + lbPName.Text + "”更新成功!", "MyProjects.aspx")); //System.Web.HttpContext.Current.Response.Write(String.Format("<script language=\"javascript\">alert(\"{0}\");window.location.replace(\"{1}\")</script>", "项目更新成功!", "MyProjects.aspx")); //Response.Write("<script language='javascript'>alert('项目更新成功!');window.location='" + ProjectDll.DAL.Common.SPWeb.Url + "'/_layouts/15/Project/MyProjects.aspx'</script>"); #endregion }
protected void NewProject_OnClick(object sender, EventArgs e) { #region 表单信息(项目名称) //项目名称 if (string.IsNullOrEmpty(txtPName.Text))//判断项目名称是否为空 { ProjectDll.DAL.Common.Alert("项目名称不可为空!"); txtPName.Focus(); return; } var ds = ProjectDll.DAL.ProjectDal.GetProjectByTitle(txtPName.Text.Trim(' ')); if (ds != null)//判断项目名称是否重复 { ProjectDll.DAL.Common.Alert("项目名称已经存在,请重新填写!"); txtPName.Focus(); return; } //学科选择 long subjectId; if (ddlSubjectC.Items.Count <= 0) { ProjectDll.DAL.Common.Alert("还未选择项目所属学科!"); ddlSubjectA.Focus(); return; } switch (ddlSubjectC.SelectedValue) { case null: ProjectDll.DAL.Common.Alert("还未选择项目所属学科!"); ddlSubjectA.Focus(); return; default: subjectId = long.Parse(ddlSubjectC.SelectedValue); break; } #endregion #region 判断项目立项报告是否准备好上传 if (lixiangFile.HasFile && fileDiv.Visible == false) { ProjectDll.DAL.Common.Alert("你要上传的文档尚未提交!"); lixiangFile.Focus(); return; } #endregion #region 所有表单信息验证已通过,生成项目记录 //新建项目,调用NewProject var dr = new Proj_Project { PName = txtPName.Text, //项目名称 PCode = "P" + DateTime.Now.ToString("yy") + ProjectDll.BLL.RandomKeys.Number(6), //项目编码 Introduce = txtIntro.Value, //项目简介 Sponsor = currentUserId, //发布人 CreatedDate = DateTime.Now, //发布时间 SubjectID = subjectId, //学科ID IsMatch = 0, Flag = 1 //显示隐藏标记 }; long pid = ProjectDll.DAL.ProjectDal.NewProject(dr); //插入新项目记录,返回新的项目id if (hdfFile.Value != "0") //更新立项报告关联的项目ID { var file = new proj_ProjectFile { FileID = long.Parse(hdfFile.Value), ProjectID = pid, Modified = DateTime.Now, ModifiedBy = currentUserId, Flag = 1 }; ProjectDll.DAL.ProjectFileDAL.UpdataFile(file); } Page.RegisterStartupScript("温馨提示", String.Format("<script language=\"javascript\">alert(\"{0}\");window.location.replace(\"{1}\")</script>", "项目: “" + txtPName.Text + "”发布成功!", "MyProjects.aspx")); //Response.Write("<script language='javascript'>alert('新项目发布成功');window.location='" + ProjectDll.DAL.Common.SPWeb.Url + "'/_layouts/15/Project/MyProjects.aspx'</script>"); #endregion }
/// <summary> /// 上传附件 /// </summary> /// <param name="docLibName">Name of the document library.</param> /// <param name="fUpload">The fupload.</param> /// <param name="type">The type.</param> private void AddWorkFile(string docLibName, FileUpload fUpload, int type) { long userId = ProjectDll.BLL.User.GetUserId(); try { //SPSecurity.RunWithElevatedPrivileges(delegate() //{ using (var elevatedsiteColl = new SPSite(MySite.ID)) { using (var elevatedSite = elevatedsiteColl.OpenWeb(MyWeb.ID)) { string urlStr = elevatedSite.Url; elevatedSite.AllowUnsafeUpdates = true; SPList list = elevatedSite.Lists.TryGetList(docLibName); if (list == null) //如果没有文档库,先创建文档库 { list = ProjectDll.DAL.ProjectFileDAL.CreateList(docLibName); } urlStr += "//" + docLibName; var docLib = (SPDocumentLibrary)list; if (fUpload.HasFile) { string fName = Path.GetFileName(fUpload.PostedFile.FileName); string fLength = fUpload.PostedFile.ContentLength.ToString(); string fTypeString = Path.GetExtension(fName).ToLower(); fTypeString = fTypeString.TrimStart('.'); int? fTypeId = ProjectDll.BLL.ProjectFileBll.GetFileTypeByFileExtension(fTypeString).FileTypeID; string fName0InDocLib = ""; //第一步: 数据库操作 var pFile = ProjectDll.BLL.ProjectFileBll.GetFileByCreatedBy(userId).First(f => f.ProjectID == 0 || f.ProjectID == null);//最新上传的且与项目无关联的 //判断数据库是否存在记录 string fName1InDocLib = ""; if (pFile != null) //存在记录,则更新数据库记录 { fName0InDocLib = pFile.FileNameInDocLib; //原有文档库文件名 //文档库中文件名的命名规则:(新编号+上传日期)-上传者账户名-文件名 fName1InDocLib = (int.Parse(fName0InDocLib.Substring(0, 2)) + 1).ToString("00") + DateTime.Now.Year + ProjectDll.BLL.RandomKeys.Number(4) + "-" + ProjectDll.BLL.User.GetAccount() + "-" + fName; //新文档库文件名 urlStr += "//" + fName1InDocLib; var drFile = new proj_ProjectFile { FileID = pFile.FileID, ProjectID = GetUrlSendProjectId, FileName = fName, FileNameInDocLib = fName1InDocLib, FilePath = urlStr, FileSize = fLength, FileTypeID = fTypeId, Modified = DateTime.Now, ModifiedBy = currentUserId, Flag = 1 }; ProjectDll.DAL.ProjectFileDAL.UpdataFile(drFile); hdfFile.Value = pFile.FileID.ToString(); BindMyFile(fName1InDocLib); } else //不存在记录,则新建数据库记录并插入数据库 { //文档库中文件名的命名规则:(编号+上传日期)-上传者账户名-文件名 fName1InDocLib = "01" + DateTime.Now.Year + ProjectDll.BLL.RandomKeys.Number(4) + "-" + ProjectDll.BLL.User.GetAccount() + "-" + fName; //新文档库文件名 urlStr += "//" + fName1InDocLib; var drFile = new proj_ProjectFile { FileName = fName, FileNameInDocLib = fName1InDocLib, FileTypeID = fTypeId, FilePurpose = 1, FilePath = urlStr, FileSize = fLength, Created = DateTime.Now, CreatedBy = currentUserId, Flag = 1 }; long fid = ProjectDll.DAL.ProjectFileDAL.InsertProjectFile(drFile); hdfFile.Value = fid.ToString(); BindMyFile(fName1InDocLib); } //第二步: 文档库操作 Stream stm = fUpload.PostedFile.InputStream; int iLength = (int)stm.Length; if (iLength > 0) { SPFolder rootFolder = docLib.RootFolder; Byte[] filecontent = new byte[iLength]; stm.Read(filecontent, 0, iLength); try { bool isDocHave = ProjectDll.DAL.ProjectFileDAL.JudgeIsExistInDocLib(docLib, fName0InDocLib, type); //判断文档库是否存在该文件 if (isDocHave) //存在,则删除文档库中同名文档 { //ProjectDll.DAL.Common.ShowMessage(this.Page, this.GetType(), "请注意,该文件已存在,上传后自动覆盖已有文件!"); DelListItem(fName0InDocLib, docLibName); } //上传文档 rootFolder.Files.Add(fName1InDocLib, filecontent, true); } catch (Exception ex) { ProjectDll.DAL.Common.ShowMessage(this.Page, this.GetType(), "出错了,请报告给管理员!"); } finally { stm.Close(); } } } elevatedSite.AllowUnsafeUpdates = false; } } //}); } catch (Exception ex) { ProjectDll.DAL.Common.ShowMessage(this.Page, this.GetType(), "出错了,请报告给管理员!"); } finally { } //BindGridView((DataTable)ViewState[viewStateName], gv); }
public static proj_ProjectFile GetFileByFileNameInDocLib(string fileNameInDocLib) { proj_ProjectFile file = DAL.ProjectFileDAL.GetFiles().FirstOrDefault(f => f.FileNameInDocLib == fileNameInDocLib & f.Flag == 1); return(file); }
/// <summary> /// 上传附件 /// </summary> /// <param name="docLibName">Name of the document library.</param> /// <param name="fUpload">The fupload.</param> /// <param name="type">The type.</param> private void AddWorkFile(string docLibName, FileUpload fUpload, int type) { try { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite elevatedsiteColl = new SPSite(MySite.ID)) { using (SPWeb elevatedSite = elevatedsiteColl.OpenWeb(MyWeb.ID)) { string urlStr = elevatedSite.Url; elevatedSite.AllowUnsafeUpdates = true; SPList list = elevatedSite.Lists.TryGetList(docLibName); if (list == null) //如果没有文档库,先创建文档库 { list = ProjectDll.DAL.ProjectFileDAL.CreateList(docLibName); urlStr = urlStr + "\\" + docLibName; } var docLib = (SPDocumentLibrary)list; if (fUpload.HasFile) { string fName = Path.GetFileName(fUpload.PostedFile.FileName); string fLength = fUpload.PostedFile.ContentLength.ToString(); int?fTypeId = ProjectDll.BLL.ProjectFileBll.GetFileTypeByFileExtension(Path.GetExtension(fName).ToLower()).FileTypeID; string fName0InDocLib = ""; string fName1InDocLib = ""; //判断数据库中是否存在该文件 proj_ProjectFile pFile = ProjectDll.DAL.ProjectFileDAL.JudgeIsExistInDb(fName, currentUserId); //判断数据库 if (pFile != null) { fName0InDocLib = pFile.FileNameInDocLib;//原有文档库文件名 fName1InDocLib = (int.Parse(fName0InDocLib.Substring(0, 2)) + 1).ToString() + DateTime.Now.Year + "-" + ProjectDll.BLL.User.GetAccount() + "-" + fName;//新文档库文件名 urlStr += "\\" + fName1InDocLib; proj_ProjectFile drFile = new proj_ProjectFile { FileID = pFile.FileID, FileName = fName, FileNameInDocLib = fName1InDocLib, FilePath = urlStr, FileSize = fLength, Modified = DateTime.Now, ModifiedBy = currentUserId, Flag = 1 }; ProjectDll.DAL.ProjectFileDAL.UpdataFile(drFile); //数据库中有记录,更新数据库 } else { //如果没有,则新建记录插入数据库 fName1InDocLib = (int.Parse(fName0InDocLib.Substring(0, 2)) + 1).ToString() + DateTime.Now.Year + "-" + ProjectDll.BLL.User.GetAccount() + "-" + fName;//新文档库文件名 urlStr += "\\" + fName1InDocLib; proj_ProjectFile drFile = new proj_ProjectFile { FileName = fName, FileNameInDocLib = fName1InDocLib, FileTypeID = fTypeId, FilePurpose = 1, FilePath = urlStr, FileSize = fLength, Created = DateTime.Now, CreatedBy = currentUserId, Flag = 1 }; ProjectDll.DAL.ProjectFileDAL.InsertProjectFile(drFile); } Stream stm = fUpload.PostedFile.InputStream; int iLength = (int)stm.Length; if (iLength > 0) { SPFolder rootFolder = docLib.RootFolder; Byte[] filecontent = new byte[iLength]; stm.Read(filecontent, 0, iLength); try { SPFile f; //如果在文档库中有,删除文档库中同名文档后,上传文档 bool isDocHave = ProjectDll.DAL.ProjectFileDAL.JudgeIsExistInDocLib(docLib, fName0InDocLib, type); //判断文档库 if (isDocHave) { //ProjectDll.DAL.Common.ShowMessage(this.Page, this.GetType(), "请注意,该文件已存在,上传后自动覆盖已有文件!"); DelListItem(fName0InDocLib, docLibName); rootFolder.Files.Add(fName1InDocLib, filecontent, true); } else { rootFolder.Files.Add(fName1InDocLib, filecontent, true); } //urlStr += "\\" + fName1InDocLib; } catch (Exception ex) { ProjectDll.DAL.Common.Alert(ex.ToString()); } finally { stm.Close(); } } } elevatedSite.AllowUnsafeUpdates = false; } } }); } catch (Exception ex) { ProjectDll.DAL.Common.Alert(ex.ToString()); // DAL.Common.ShowMessage(this.Page, this.GetType(), "出错了,请报告给管理员!"); } finally { } //BindGridView((DataTable)ViewState[viewStateName], gv); }
/// <summary> /// 保存项目按钮,更新记录 /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void SaveProject_OnClick(object sender, EventArgs e) { #region 表单更新信息(学科ID,项目介绍,修改时间,修改人) //学科选择 long subjectId; if (long.Parse(ddlSubjectC.SelectedValue) != 0) { subjectId = long.Parse(ddlSubjectC.SelectedValue); } else { //当2级学科有值时 if (long.Parse(ddlSubjectB.SelectedValue) != 0) { subjectId = long.Parse(ddlSubjectB.SelectedValue); } else { //当1级学科有值时 if (long.Parse(ddlSubjectA.SelectedValue) != 0) { subjectId = long.Parse(ddlSubjectA.SelectedValue); } else { ProjectDll.DAL.Common.Alert("还未选择项目所属学科!"); ddlSubjectA.Focus(); return; } } } #endregion #region 判断项目立项报告是否修改 if (hdfFile.Value != "0") { long fileId = long.Parse(hdfFile.Value); proj_ProjectFile myfile = ProjectDll.BLL.ProjectFileBll.GetFileByProjIdandPurpose(fileId, 1).FirstOrDefault(); ProjectDll.DAL.ProjectFileDAL.DelFileById(fileId, currentUserId, DateTime.Now); //if (myfile != null) //{ // string fileName = myfile.FileName; // DelListItem(fileName, "ProjectReports"); //} var allowUpload = IsAllowUpload(lixiangFile); if (allowUpload) { AddWorkFile("ProjectReports", lixiangFile, 1); } else { ProjectDll.DAL.Common.Alert("你还未选择新版立项报告,或者您上传的报告文档格式不对或大小超出限制!"); lixiangFile.Focus(); } } #endregion #region 所有表单信息验证已通过,生成项目记录 var dr = new Proj_Project(); //判断是新建还是更新,新建则调用NewProject,否则调用UpdataProject long pid = GetUrlSendProjectId; //项目ID初始化 if (pid > 0) //有项目ID传值,说明是编辑页面,则执行更新功能 { dr = new Proj_Project { ProjectID = pid, //即将更新的项目Id Introduce = txtIntro.Value, //项目简介 ModifiedBy = currentUserId, //发布人 ModifyTime = DateTime.Now, //发布时间 SubjectID = subjectId, //学科ID Flag = 1 //显示隐藏标记 }; ProjectDll.DAL.ProjectDal.UpdateProjectById(dr); } Response.Write("<script language='javascript'>alert('项目更新成功!');window.location='" + ProjectDll.DAL.Common.SPWeb.Url + "'/_layouts/15/Project/MyProjects.aspx'</script>"); #endregion }
/// <summary> /// 上传附件 /// </summary> /// <param name="web">The web.</param> /// <param name="docLibName">Name of the document library.</param> /// <param name="fUpload">The fupload.</param> /// <param name="viewStateName">Name of the view state.</param> /// <param name="gv">The GridView.</param> /// <param name="type">The type.</param> private void AddWorkFile(SPWeb web, string docLibName, FileUpload fUpload, String viewStateName, GridView gv, int type) { try { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite elevatedsiteColl = new SPSite(MySite.ID)) { using (SPWeb elevatedSite = elevatedsiteColl.OpenWeb(MyWeb.ID)) { string urlStr = elevatedSite.Url; elevatedSite.AllowUnsafeUpdates = true; SPList list = elevatedSite.Lists.TryGetList(docLibName); //如果没有文档库,生成文档库 if (list == null) { list = ProjectDll.DAL.ProjectFileDAL.CreateList(docLibName); urlStr = urlStr + "\\" + docLibName; } var docLib = (SPDocumentLibrary)list; if (fUpload.HasFile) { //数据库 //判断是否存在 if (JudgeSize(fUpload.PostedFile.ContentLength))//判断文件大小是否超出限制 { ProjectDll.DAL.Common.ShowMessage(this.Page, this.GetType(), "超出上传文档大小限制!"); } else { string fname = type.ToString().PadLeft(2, '0') + DateTime.Now.Year + ddlSubjectC.SelectedValue.PadLeft(4, '0') + "-" + ProjectDll.BLL.User.GetAccount() + "-" + Path.GetFileName(fUpload.PostedFile.FileName); Stream stm = fUpload.PostedFile.InputStream; int iLength = (int)stm.Length; if (iLength > 0) { SPFolder rootFolder = docLib.RootFolder; Byte[] filecontent = new byte[iLength]; stm.Read(filecontent, 0, iLength); try { SPFile f; //如果在文档库中有,删除文档库中同名文档后,上传文档 bool isDocHave = false; isDocHave = ProjectDll.DAL.ProjectFileDAL.JudgeIsExistInDocLib(docLib, fname, type); proj_ProjectFile pFile = ProjectDll.DAL.ProjectFileDAL.JudgeIsExistInDb(fname, currentUserId); //判断文档库 if (isDocHave) { ProjectDll.DAL.Common.ShowMessage(this.Page, this.GetType(), "请注意,该文件已存在,上传后自动覆盖已有文件!"); DelList(fname, type.ToString()); f = rootFolder.Files.Add(fname, filecontent, true); } else { f = rootFolder.Files.Add(fname, filecontent, true); } urlStr += "\\" + fname; ////判断数据库 //if (isDBHave) //{ // //如果数据库中有,更新数据库 //} //else //{ // //如果没有插入数据库 // //数据库 //} } catch (Exception ex) { ProjectDll.DAL.Common.Alert(ex.ToString()); } finally { stm.Close(); } } } } elevatedSite.AllowUnsafeUpdates = false; } } }); } catch (Exception ex) { ProjectDll.DAL.Common.Alert(ex.ToString()); // DAL.Common.ShowMessage(this.Page, this.GetType(), "出错了,请报告给管理员!"); } finally { } //BindGridView((DataTable)ViewState[viewStateName], gv); }