public HttpResponseMessage PreviewFile() { try { var jsonParams = Request.GetQueryNameValuePairs().ToDictionary(k => k.Key, v => v.Value); string id = jsonParams["id"]; File file = AssignmentDao.GetFileById(id); if (file.preview == null) { return(new Response(3001, "无法生成预览").Convert()); } return(HttpUtil.DownloadFile(file.preview, "preview.pdf", false)); } catch (Exception e) { ErrorLogUtil.WriteLogToFile(e, Request); return(Response.Error()); } }
public HttpResponseMessage TryDownloadAssignment() { try { string signature = HttpUtil.GetAuthorization(Request); if (signature == null || !redis.IsSet(signature)) { return(new Response(2001, "未登录账户").Convert()); } bool isLogin = redis.IsSet(signature); if (!isLogin) { return(new Response(2001, "未登录账户").Convert()); } string id = redis.Get <string>(signature); var jsonParams = Request.GetQueryNameValuePairs().ToDictionary(k => k.Key, v => v.Value); int expId = Convert.ToInt32(jsonParams["expId"]); string stuId = jsonParams["stuId"]; Assignment assignment = AssignmentDao.GetAssignmentsByStuIdAndExpId(stuId, expId); if (assignment == null) { return(new Response(2002, "未找到作业").Convert()); } string fileId = assignment.file; File file = AssignmentDao.GetFileById(fileId); if (file == null) { return(new Response(2002, "未找到作业").Convert()); } string uuid = Guid.NewGuid().ToString(); redis.Set(uuid, file.id, 10); return(new Response(1001, "获取成功", uuid).Convert()); } catch (Exception e) { ErrorLogUtil.WriteLogToFile(e, Request); return(Response.Error()); } }
public HttpResponseMessage DownloadAssignment() { try { var jsonParams = Request.GetQueryNameValuePairs().ToDictionary(k => k.Key, v => v.Value); string uuid = jsonParams["uuid"]; if (!redis.IsSet(uuid)) { return(new Response(2002, "文件下载请求不存在").Convert()); } string fileId = redis.Get <string>(uuid); File file = AssignmentDao.GetFileById(fileId); HttpResponseMessage res = HttpUtil.DownloadFile(file.path.ToString(), file.name.ToString()); redis.Delete(uuid); return(res); } catch (Exception e) { ErrorLogUtil.WriteLogToFile(e, Request); return(Response.Error()); } }