// GET: PhotoImage public ActionResult Index(Guid?id) { //return View(); if (null == id) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var rep = new PhotoImageRepository(db); var file = rep.GetByID(id); if (null == file) { return(HttpNotFound("文件不存在!")); } //首先从缓存获取相关数据 string filepath = file.FilePath; if (System.IO.File.Exists(filepath)) { //读取文件数据 var data = System.IO.File.ReadAllBytes(filepath); return(File(data, file.MimeType, file.FileName)); } else { return(HttpNotFound("文件不存在!")); } }
public PhotoImage Upload(FileData entity) { if (null == entity) { return(null); } try { var rep = new PhotoImageRepository(db); var file = rep.Create(entity.Data, entity.FileName, "admin"); return(file); } catch (Exception exp) { return(null); } }
public ActionResult Upload(HttpPostedFileBase fileToUpload) { if (null == fileToUpload) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } try { var rep = new PhotoImageRepository(db); //var file = rep.Create(fileToUpload, HttpContext.User.Identity.Name); var file = rep.Create(fileToUpload, "admin"); return(Json(file)); } catch (Exception exp) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, exp.Message)); } }
public void RunQueryThread() { //开启一个线程,不停的获取数据,然后查询数据 System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(async() => { var db = new ApplicationDbContext(); var rep = new PhotoImageRepository(db); var service = new UFaceService(); while (true) { var b = false; lock (exitLock) { b = bExit; } if (b) { break; } if (queuePhoto.Count == 0) { System.Threading.Thread.Sleep(10); continue; } PhotoImageQueryItem item = null; lock (queueLock) { item = queuePhoto.Dequeue(); } if (item == null) { continue; } try { //查询数据 var list = await service.FaceFind(item.Camera, item.PersonID); if (list != null && list.Length > 0) { //找到对应的;然后更新 foreach (var v in list) { if (string.Compare(v.faceId, item.FaceID) == 0) { var photo = new PhotoImage() { ID = item.PhotoImageID, Feature = v.feature, FeatureKey = v.featureKey, }; rep.UpdateFeature(photo, null); break; } } } } catch (Exception exp) { System.Diagnostics.Debug.WriteLine(exp); } // System.Threading.Thread.Sleep(10); } })); thread.IsBackground = true; thread.Start(); }