private void SavePicture(CameraAlarmJson camera, Bll bll, int mode) { byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); CameraAlarmInfo info = CameraAlarmInfo.Parse(json); info.time = GetDataTime(info.time_stamp); info.id = camera.Id; //增加了id,这样能够获取到详情 //int mode = AppSetting.CameraAlarmPicSaveMode; string base64 = info.pic_data; if (!string.IsNullOrEmpty(base64)) { info.pic_data = ""; //图片分开存 string json2 = JsonConvert.SerializeObject(info); //新的没有图片的json camera.Json = Encoding.UTF8.GetBytes(json2); bll.CameraAlarmJsons.Edit(camera); SavePicture(bll, mode, base64, info.pic_name); SaveJsonToFile(info.time_stamp, json2); } else { Log.Info("没有图片"); SaveJsonToFile(info.time_stamp, json); } }
public void AlarmSaveToJson(CameraAlarmJson camera) { byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); CameraAlarmInfo info = CameraAlarmInfo.Parse(json); info.id = camera.Id; //增加了id,这样能够获取到详情 string pic = info.pic_data; DateTime now = GetDataTime(info.time_stamp); FileInfo fi = CameraAlarmService.GetJsonFile(now); }
public string ParseJson(string json, int mode) { try { FileInfo fi = GetNowJsonFile(); File.WriteAllText(fi.FullName, json); var info = CameraAlarmInfo.Parse(json); CameraAlarmHub.SendInfo(info);//发送告警给客户端 Bll bll = Bll.NewBllNoRelation(); string base64 = info.pic_data; info.pic_data = ""; //图片分开存 string jsonNoPic = JsonConvert.SerializeObject(info); //新的没有图片的json Log.Info(LogTags.ExtremeVision, jsonNoPic); string alarmType = ""; if (info.AlarmType == 1) { alarmType = "安全帽告警"; } else if (info.AlarmType == 2) { alarmType = "火焰告警"; } else if (info.AlarmType == 3) { alarmType = "烟雾告警"; } else { alarmType = "其他告警:" + info.AlarmType; } Log.Info(LogTags.ExtremeVision, "告警类型:" + alarmType); bool result = SaveToCameraAlarmJson(jsonNoPic); var picName = info.pic_name; SavePicture(bll, mode, base64, picName); return(info.ToString()); } catch (Exception ex) { Log.Error(LogTags.ExtremeVision, "Error:" + ex); return("Error:" + ex.Message); } }
public void LoadAlarmFromJson() { try { var list2 = GetAllCameraAlarms(false); Dictionary <string, CameraAlarmInfo> dict = new Dictionary <string, CameraAlarmInfo>(); foreach (var item in list2) { string picName = item.pic_name; //picName = picName.Replace(".jpg", ""); if (dict.ContainsKey(picName)) { var itemOld = dict[picName]; dict[picName] = item; } else { dict.Add(picName, item); } } DirectoryInfo dir = CameraAlarmService.GetJsonDir(); FileInfo[] files = dir.GetFiles(); int count = 0; foreach (var item in files) { string json = File.ReadAllText(item.FullName); CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json); if (dict.ContainsKey(cameraAlarmInfo.pic_name))//已经存在了 { } else { Log.Info(LogTags.ExtremeVision, "添加到数据库:" + cameraAlarmInfo.pic_name); SaveToCameraAlarmJson(json);//保存到数据库中 count++; } } Log.Info(LogTags.ExtremeVision, "LoadAlarmFromJson count:" + count); } catch (System.Exception ex) { Log.Error(LogTags.ExtremeVision, "LoadAlarmFromJson", ex.ToString()); } }
private void ReadInfoFile(string fileName) { string path = AppDomain.CurrentDomain.BaseDirectory + "Data\\" + fileName; if (!File.Exists(path)) { MessageBox.Show("未找到文件:" + path); return; } string content = File.ReadAllText(path); //TbContent.Text = content; try { CameraAlarmInfo info = CameraAlarmInfo.Parse(content); string base64 = info.pic_data; GetImage(info.pic_data); info.time_stamp = GetTimeStamp(); info.time = GetDataTime(info.time_stamp); info.pic_data = ""; grid1.SelectedObject = info; info.ParseData(); info.id = info.aid; string json = JsonConvert.SerializeObject(info); CameraAlarmInfo info2 = CameraAlarmInfo.Parse(json); info2.FlameData = null; info2.HeadData = null; info2.SmogData = null; info2.pic_data = base64; info2.pic_name = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + ".jpg"; string json2 = JsonConvert.SerializeObject(info2); TbContent.Text = json2; } catch (Exception ex) { MessageBox.Show("解析失败:" + ex); } }
private CameraAlarmInfo GetCamaraAlarmInfo(CameraAlarmJson camera, Dictionary <string, Dev_CameraInfo> cameraDict, Dictionary <int, DevInfo> devs) { try { byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); int id = camera.Id; CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json); cameraAlarmInfo.id = camera.Id; //增加了id,这样能够获取到详情 cameraAlarmInfo.pic_data = ""; //在详情的地方获取 cameraAlarmInfo.data = null; cameraAlarmInfo.time = GetDataTime(cameraAlarmInfo.time_stamp); string ip = GetCameraIp(cameraAlarmInfo.cid_url); cameraAlarmInfo.DevIp = ip; if (cameraDict.ContainsKey(ip)) { var camerainfo = cameraDict[ip]; if (devs.ContainsKey(camerainfo.DevInfoId)) { cameraAlarmInfo.DevName = devs[camerainfo.DevInfoId].Name; cameraAlarmInfo.DevID = camerainfo.DevInfoId; } } else { } return(cameraAlarmInfo); } catch (System.Exception ex) { Log.Error(LogTags.ExtremeVision, "GetCamaraAlarmInfo", ex.ToString()); return(null); } }
/// <summary> /// 获取一个告警的详情 主要是告警图片 /// </summary> /// <param name="id"></param> /// <returns></returns> public CameraAlarmInfo GetCameraAlarmDetail(int id) { try { CameraAlarmJson camera = db.CameraAlarmJsons.Find(id); if (camera == null) { return(null); } byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json); cameraAlarmInfo.id = camera.Id;//增加了id,这样能够获取到详情 cameraAlarmInfo.time = GetDataTime(cameraAlarmInfo.time_stamp); GetCameraAlarmPicture(cameraAlarmInfo); return(cameraAlarmInfo); } catch (System.Exception ex) { Log.Error(LogTags.ExtremeVision, "GetCameraAlarmDetail", ex.ToString()); return(null); } }