/// <summary> /// Loads a picture from file /// </summary> /// <param name="pictureId">Picture identifier</param> /// <param name="mimeType">MIME type</param> /// <returns>Picture binary</returns> protected virtual byte[] LoadPictureFromFile(int pictureId, string mimeType) { var lastPart = GetFileExtensionFromMimeType(mimeType); var fileName = $"{pictureId:0000000}_0.{lastPart}"; var filePath = GetPictureLocalPath(fileName); return(_fileProvider.ReadAllBytes(filePath)); }
/// <summary> /// Install plugin /// </summary> public override void Install() { //pictures var sampleImagesPath = _fileProvider.MapPath("~/Plugins/Widgets.NivoSlider/Content/nivoslider/sample-images/"); //settings var settings = new NivoSliderSettings { Picture1Id = _pictureService.InsertPicture(_fileProvider.ReadAllBytes(_fileProvider.Combine(sampleImagesPath, "banner1.jpg")), MimeTypes.ImagePJpeg, "banner_1").Id, Text1 = "", Link1 = _webHelper.GetStoreLocation(false), Picture2Id = _pictureService.InsertPicture(_fileProvider.ReadAllBytes(_fileProvider.Combine(sampleImagesPath, "banner2.jpg")), MimeTypes.ImagePJpeg, "banner_2").Id, Text2 = "", Link2 = _webHelper.GetStoreLocation(false) //Picture3Id = _pictureService.InsertPicture(File.ReadAllBytes(_fileProvider.Combine(sampleImagesPath,"banner3.jpg")), MimeTypes.ImagePJpeg, "banner_3").Id, //Text3 = "", //Link3 = _webHelper.GetStoreLocation(false), }; _settingService.SaveSetting(settings); _localizationService.AddPluginLocaleResource(new Dictionary <string, string> { ["Plugins.Widgets.NivoSlider.Picture1"] = "Picture 1", ["Plugins.Widgets.NivoSlider.Picture2"] = "Picture 2", ["Plugins.Widgets.NivoSlider.Picture3"] = "Picture 3", ["Plugins.Widgets.NivoSlider.Picture4"] = "Picture 4", ["Plugins.Widgets.NivoSlider.Picture5"] = "Picture 5", ["Plugins.Widgets.NivoSlider.Picture"] = "Picture", ["Plugins.Widgets.NivoSlider.Picture.Hint"] = "Upload picture.", ["Plugins.Widgets.NivoSlider.Text"] = "Comment", ["Plugins.Widgets.NivoSlider.Text.Hint"] = "Enter comment for picture. Leave empty if you don't want to display any text.", ["Plugins.Widgets.NivoSlider.Link"] = "URL", ["Plugins.Widgets.NivoSlider.Link.Hint"] = "Enter URL. Leave empty if you don't want this picture to be clickable.", ["Plugins.Widgets.NivoSlider.AltText"] = "Image alternate text", ["Plugins.Widgets.NivoSlider.AltText.Hint"] = "Enter alternate text that will be added to image." }); base.Install(); }
/// <summary> /// Create an file attachment for the specific file path /// </summary> /// <param name="filePath">Attachment file path</param> /// <param name="attachmentFileName">Attachment file name</param> /// <returns>A leaf-node MIME part that contains an attachment.</returns> protected MimePart CreateMimeAttachment(string filePath, string attachmentFileName = null) { if (string.IsNullOrWhiteSpace(filePath)) { throw new ArgumentNullException(nameof(filePath)); } if (string.IsNullOrWhiteSpace(attachmentFileName)) { attachmentFileName = Path.GetFileName(filePath); } return(CreateMimeAttachment( attachmentFileName, _fileProvider.ReadAllBytes(filePath), _fileProvider.GetCreationTime(filePath), _fileProvider.GetLastWriteTime(filePath), _fileProvider.GetLastAccessTime(filePath))); }