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) { 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(); } } }