Сохранение URL изображения в базе данных Microsoft nopcommerce - PullRequest
0 голосов
/ 20 октября 2018

Я хочу сохранить URL изображения в базе данных nopcommerce.Кто-нибудь может дать мне идею, как я могу сохранить URL-адрес изображения в базе данных NOPCOMMERCE?Этот метод GetThumbUrl предназначен для получения URL-адреса изображения, а метод InsertPicture - для вставки изображения без пути к изображению в базе данных.

Как вызвать метод GetThumbUrl в методе InsertPicture для сохранения пути к изображению в базе данных?

public string GetThumbUrl(string thumbFileName, string storeLocation = null)
        {
            storeLocation = !String.IsNullOrEmpty(storeLocation)
                                    ? storeLocation
                                    : _webHelper.GetStoreLocation();
            var url = storeLocation + "content/images/thumbs/";

            if (_mediaSettings.MultipleThumbDirectories)
            {
                //get the first two letters of the file name
                var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(thumbFileName);
                if (fileNameWithoutExtension != null && fileNameWithoutExtension.Length > MULTIPLE_THUMB_DIRECTORIES_LENGTH)
                {
                    var subDirectoryName = fileNameWithoutExtension.Substring(0, MULTIPLE_THUMB_DIRECTORIES_LENGTH);
                    url = url + subDirectoryName + "/";
                }
            }

            url = url + thumbFileName;
            return url;
        }



    public virtual Picture InsertPicture(byte[] pictureBinary, string mimeType, string seoFilename,
        string altAttribute = null, string titleAttribute = null,
        bool isNew = true, bool validateBinary = true)
    {

        int targetSize = 0;
        PictureType defaultPictureType = PictureType.Entity;
        string storeLocation = null;

        mimeType = CommonHelper.EnsureNotNull(mimeType);
        mimeType = CommonHelper.EnsureMaximumLength(mimeType, 20);

        seoFilename = CommonHelper.EnsureMaximumLength(seoFilename, 100);

        if (validateBinary)
            pictureBinary = ValidatePicture(pictureBinary, mimeType);


        var inspicture = new Picture
        {
            PictureBinary = this.StoreInDb ? pictureBinary : new byte[0],
            MimeType = mimeType,
            SeoFilename = seoFilename,
            AltAttribute = altAttribute,
            TitleAttribute = titleAttribute,
            IsNew = isNew,
        };
        _pictureRepository.Insert(inspicture);

        if (!this.StoreInDb)
            SavePictureInFile(inspicture.Id, pictureBinary, mimeType);

        //event notification
        _eventPublisher.EntityInserted(inspicture);

        return inspicture;
    }
...