public async Task <HttpResponseMessage> MakeXRayExamination() { HttpResponseMessage response = new HttpResponseMessage(); // 存储文件到数据库 //一个对象反序列化的过程 XrayInfo xrayInfo = (XrayInfo) await ReadAndSaveFile(); string jsonStr = ""; try { jsonStr = JsonObjectConverter.ObjectToJson(xrayInfo); response.Content = new StringContent(jsonStr); } catch (Exception e) { response.Content = new StringContent("post数据格式错误\nReceives:\n" + JsonObjectConverter.ObjectToJson(xrayInfo)); response.StatusCode = HttpStatusCode.BadRequest; return(response); } // XRay表插入 if (!ExaminerHelper.MakeXRayExamination(xrayInfo)) { response.Content = new StringContent("由于某种原因检测插入不成功"); response.StatusCode = HttpStatusCode.Forbidden; } else { response.Content = new StringContent("检测结果插入表中"); response.StatusCode = HttpStatusCode.OK; } return(response); }
private async Task <Object> ReadAndSaveFile() { string root = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Uploads"); var provider = new MultipartFormDataStreamProvider(root); await Request.Content.ReadAsMultipartAsync(provider); FileInfo finfo = new FileInfo(provider.FileData.First().LocalFileName); string guid = Guid.NewGuid().ToString(); string path = Path.Combine(root, guid + "_" + provider.FileData.First().Headers.ContentDisposition.FileName.Replace("\"", "")); File.Move(finfo.FullName, path); var formData = provider.FormData; int type = 10; try { type = int.Parse(formData.GetValues("type").FirstOrDefault()); } catch (Exception e) { throw e; } // 新建一个对象 Object info = new object(); string exam_id; string checkpoint; string from_picture; string picture; string diagnoses; switch (type) { case 0: break; case 1: exam_id = formData.GetValues("exam_id").FirstOrDefault(); diagnoses = formData.GetValues("diagnoses").FirstOrDefault(); from_picture = formData.GetValues("from_picture").FirstOrDefault(); info = new GastroscopeInfo(exam_id, from_picture, diagnoses, path); break; case 2: exam_id = formData.GetValues("exam_id").FirstOrDefault(); checkpoint = formData.GetValues("checkpoint").FirstOrDefault(); from_picture = formData.GetValues("from_picture").FirstOrDefault(); info = new XrayInfo(exam_id, checkpoint, from_picture, path); break; default: return(null); } return(info); }
public static bool MakeXRayExamination(XrayInfo partXrayInfo)//插入XRay的检查结果 { XrayInfo xray = partXrayInfo; OracleCommand cmd = new OracleCommand(); cmd.Connection = DatabaseHelper.GetInstance().conn; cmd.Transaction = DatabaseHelper.GetInstance().conn.BeginTransaction(); try { string sqlStr = String.Format( @"insert into XRay values('{0}','{1}','{2}','{3}')", xray.exam_id, xray.checkpoint, xray.from_picture, xray.picture); cmd.CommandText = sqlStr; cmd.ExecuteNonQuery(); cmd.Transaction.Commit(); } catch (Exception e) { cmd.Transaction.Rollback(); return(false); } return(true); }