Exemple #1
0
 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());
     }
 }
Exemple #2
0
 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());
     }
 }
Exemple #3
0
        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());
            }
        }