Exemplo n.º 1
0
        public object AddModelImg(string modelVersionCode, string sourceName, string suffix, string contentType, string objectId)
        {
            var             db           = Repository.GetDbContext();
            DmeModelVersion modelVersion = db.Queryable <DmeModelVersion>().Single(mv => mv.SysCode == modelVersionCode);

            if (null == modelVersion)
            {
                throw new BusinessException((int)EnumSystemStatusCode.DME_FAIL, $"模型版本[{modelVersionCode}]不存在");
            }
            DmeModelImg modelImg = db.Queryable <DmeModelImg>().Single(mi => mi.ModelId == modelVersion.ModelId && mi.VersionId == modelVersion.Id);

            if (null == modelImg)
            {
                modelImg = new DmeModelImg
                {
                    ModelId     = modelVersion.ModelId,
                    VersionId   = modelVersion.Id,
                    Suffix      = suffix,
                    SourceName  = sourceName,
                    ContentType = contentType,
                    ImgCode     = objectId
                };
                modelImg = db.Insertable <DmeModelImg>(modelImg).ExecuteReturnEntity();
            }
            else
            {
                modelImg.ImgCode     = objectId;
                modelImg.Suffix      = suffix;
                modelImg.ContentType = contentType;
                modelImg.SourceName  = sourceName;
                db.Updateable <DmeModelImg>(modelImg).ExecuteCommand();
            }
            return(modelImg);
        }
Exemplo n.º 2
0
        public IActionResult GetModelImg(string modelVersionCode)
        {
            String baseDir        = AppDomain.CurrentDomain.BaseDirectory;
            string defaultImgPath = baseDir + GlobalSystemConfig.PATH_DEFAULT_IMG;
            string contentType    = "image/jpeg";

            byte[] bytes = null;

            DmeModelImg dmeModelImg = base.modelService.GetModelImg(modelVersionCode);

            if (null == dmeModelImg)
            {
                LOG.Warn($"模型版本[{modelVersionCode}]还没设置图片,使用默认图片");
                if (!System.IO.File.Exists(defaultImgPath))
                {
                    throw new BusinessException($"默认图片[{defaultImgPath}]不存在");
                }
                bytes = System.IO.File.ReadAllBytes(defaultImgPath);
            }
            else
            {
                //从mongodb中读取流,DownloadFileToStream有问题
                bytes = MongodbHelper <object> .DownloadFileAsByteArray(ServiceFactory.MongoDatabase, new ObjectId(dmeModelImg.ImgCode));

                //imgStream = FileUtil.BytesToStream(bytes);
                contentType = dmeModelImg.ContentType;
            }
            // byte[] buffer = new byte[imgStream.Length];
            //读取图片字节流
            // imgStream.Read(buffer, 0, Convert.ToInt32(imgStream.Length));
            var response = File(bytes, contentType);

            // imgStream.Close();
            return(response);
        }