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); }
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); }