public string StoreCKeditorImageWithoutQuota(int tenant, string user, int mailboxId, string fileName, byte[] imageData, IDataStore storage) { try { if (imageData == null || imageData.Length == 0) { throw new ArgumentNullException("imageData"); } var ext = string.IsNullOrEmpty(fileName) ? ".jpg" : Path.GetExtension(fileName); if (string.IsNullOrEmpty(ext)) { ext = ".jpg"; } var storeName = imageData.GetMd5(); storeName = Path.ChangeExtension(storeName, ext); var contentDisposition = ContentDispositionUtil.GetHeaderValue(storeName); var contentType = MimeTypesHelper.GetMimeqType(ext); var signatureImagePath = MailStoragePathCombiner.GerStoredSignatureImagePath(mailboxId, storeName); using (var reader = new MemoryStream(imageData)) { var uploadUrl = storage.UploadWithoutQuota(user, signatureImagePath, reader, contentType, contentDisposition); return(MailStoragePathCombiner.GetStoredUrl(uploadUrl)); } } catch (Exception e) { _log.Error("StoreCKeditorImageWithoutQuota(). filename: {0} Exception:\r\n{1}\r\n", fileName, e.ToString()); throw; } }