protected void FileUpload(object sender, EventArgs e) { if (!Uploader.HasFile) { Response.Write("<script>alert(\"请先选择文件再点击上传\");</script>"); } else { if (!(Uploader.FileName.EndsWith(".doc", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".docx", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".ppt", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".pptx", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".7z", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".tar.gz", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".pdf", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".cvs", true, CultureInfo.CurrentCulture) || Uploader.FileName.EndsWith(".zip", true, CultureInfo.CurrentCulture))) { Response.Write("<script>alert(\"不能上传的格式!\");</script>"); } else { var succeed = 0; if (Request.QueryString["ceid"] != null) { var savePath = Server.MapPath("~/UserUploads/Experiments/") + ((Student)Session["user"]).StudentNumber + "\\"; if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } var millisecond = DateTime.Now.Millisecond; Uploader.SaveAs(savePath + millisecond + Uploader.FileName); var experiment = new Experiment() { Name = Uploader.FileName, Path = savePath.Remove(0, Server.MapPath("~").Length - 1) + millisecond + Uploader.FileName }; //由ceid获得courseExperiment var ceid = int.Parse(Request.QueryString["ceid"]); succeed = new ExperimentServiceImpl().Submit( (CourseExperiment)(Session["ThatCourseExperiment" + ceid]), (Student)(Session["user"]), experiment); Session.Remove("ThatCourseExperiment" + ceid); } else if (Request.QueryString["chid"] != null) { var savePath = Server.MapPath("~/UserUploads/Homeworks/") + ((Student)Session["user"]).StudentNumber + "\\"; if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } var millisecond = DateTime.Now.Millisecond; Uploader.SaveAs(savePath + millisecond + Uploader.FileName); var homework = new Homework() { Name = Uploader.FileName, Path = savePath.Remove(0, Server.MapPath("~").Length - 1) + millisecond + Uploader.FileName }; //由ceid获得courseExperiment var chid = int.Parse(Request.QueryString["chid"]); succeed = new HomeworkServiceImpl().Submit( (CourseHomework)(Session["ThatCourseHomework" + chid]), (Student)(Session["user"]), homework); Session.Remove("ThatCourseExperiment" + chid); } else { Response.Write("<script>出现异常</script>"); } Response.Write(succeed == 1 ? "<script>alert(\"上传成功!\");window.close();opener.location.reload();</script>" : "<script>alert(\"上传失败请重试!\");</script>"); } } }
protected void Page_Load(object sender, EventArgs e) { url = Request.Url.AbsoluteUri.Split('/').Last(); AuthHelper.LoginCheck(Session, Request, Response, Server); AuthHelper.TeacherOnlyPage(Session, Request, Response, Server); if (Request.QueryString["pt"] == null || Request.QueryString["id"] == null) { Response.Redirect("~/Default.aspx"); } PageType = Request.QueryString["pt"]; int id = int.Parse(Request.QueryString["id"]); if (PageType == "ex") { var courseExperiment = (CourseExperiment) new ExperimentServiceImpl().GetCourseExperimentById(id); var recoders = new CourseSelectionServiceImpl().GetRecordStudentByCourseId(courseExperiment.CourseId); ExInfo.Add("name", courseExperiment.Name); ExInfo.Add("deadline", courseExperiment.Deadline.ToString()); ExInfo.Add("purpose", courseExperiment.Purpose); ExInfo.Add("steps", courseExperiment.Steps); ExInfo.Add("references", courseExperiment.References); foreach (var i in recoders) { using (var context = new HaermsEntities()) { var queryans = context.Experiment.Where(ex => ex.CourseExperimentId == courseExperiment.CourseExperimentId && i.StudentId == ex.StudentId); var newnode = new Exnode(); if (queryans.FirstOrDefault() != null) { newnode.filename = queryans.FirstOrDefault()?.Name; newnode.exid = queryans.FirstOrDefault()?.ExperimentId.ToString(); newnode.mark = queryans.FirstOrDefault()?.Mark == null ? "0" : queryans.FirstOrDefault()?.Mark.ToString(); newnode.path = queryans.FirstOrDefault()?.Path; } else { newnode.filename = null; newnode.exid = null; } newnode.stuname = context.Student.Find(i.StudentId)?.Name; newnode.stunum = context.Student.Find(i.StudentId)?.StudentNumber; exlist.Add(newnode); } } } else if (PageType == "ho") { var courseHomework = new HomeworkServiceImpl().GetCourseHomeworkByCourseId(id); var recoders = new CourseSelectionServiceImpl().GetRecordStudentByCourseId(courseHomework.CourseId); HoInfo.Add("name", courseHomework.Name); HoInfo.Add("deadline", courseHomework.Deadline.ToString(CultureInfo.InvariantCulture)); HoInfo.Add("purpose", courseHomework.Content); foreach (var i in recoders) { using (var context = new HaermsEntities()) { var queryans = context.Homework.Where(ho => ho.CourseHomeworkId == id && ho.StudentId == i.StudentId); Honode newnode = new Honode(); if (queryans.FirstOrDefault() != null) { newnode.filename = queryans.FirstOrDefault()?.Name; newnode.hoid = queryans.FirstOrDefault()?.HomeworkId.ToString(); newnode.mark = queryans.FirstOrDefault()?.Mark == null ? "0" : queryans.FirstOrDefault()?.Mark.ToString(); newnode.path = queryans.FirstOrDefault()?.Path; } else { newnode.filename = null; newnode.hoid = null; } newnode.stuname = context.Student.Find(i.StudentId)?.Name; newnode.stunum = context.Student.Find(i.StudentId)?.StudentNumber; holist.Add(newnode); } } } }
protected void Page_Load(object sender, EventArgs e) { AuthHelper.LoginCheck(Session, Request, Response, Server); AuthHelper.TeacherOnlyPage(Session, Request, Response, Server); if (Request.QueryString["pt"] == null || Request.QueryString["id"] == null) { Response.Redirect("~/Default.aspx"); } string pageType = Request.QueryString["pt"]; int id = int.Parse(Request.QueryString["id"]); if (pageType == "ho") { var service = new HomeworkServiceImpl(); var homeworks = service.GetHomeworkByCourseHomeworkId(id); var downloadUrLs = homeworks.Aggregate("", (current, homework) => current + ("http://" + Request.Url.Host + homework.Path + Environment.NewLine)); downloadUrLs = downloadUrLs.Replace("\\", "/"); Response.Write(downloadUrLs); var path = homeworks.Select(homework => homework.Path).ToList(); var buffer = Download(path.ToArray()); if (buffer != null) { Response.Clear(); Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".zip"); Response.BinaryWrite(buffer); //输出 Response.Flush(); Response.End(); } /*var command = "7z a homework.zip "; * foreach (var homework in homeworks) * { * command = command + "\"" + homework.Path + "\"" + " "; * }*/ /*Process process = new Process * { * StartInfo = * { * UseShellExecute = false, * RedirectStandardOutput = true, * RedirectStandardError = true, * CreateNoWindow = true, * FileName = "cmd.exe", * Arguments = command.Replace("\\", "") * } * }; * process.Start(); * process.WaitForExit(); * string output = ""; * if (process.HasExited) * { * output = process.StandardOutput.ReadToEnd(); * } * * Response.Write(File.Exists("~/homework.zip")); * Response.Write(output);*/ } else if (pageType == "ex") { var service = new ExperimentServiceImpl(); var experiments = service.GetExpermentByCourseExperimentId(id); var downloadUrLs = experiments.Aggregate("", (current, experiment) => current + ("http://" + Request.Url.Host + experiment.Path + Environment.NewLine)); downloadUrLs = downloadUrLs.Replace("\\", "/"); Response.Write(downloadUrLs); var path = experiments.Select(homework => homework.Path).ToList(); var buffer = Download(path.ToArray()); if (buffer != null) { Response.Clear(); Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".zip"); Response.BinaryWrite(buffer); //输出 Response.Flush(); Response.End(); } } }