بسته

افزودن عکس محصول با پلاگین

4 سال پیش
#1872 نقل قول
من دارم سعی میکنم با استفاده از پلاگین، محصول جدید ایجاد کنم. اگرچه موفق نشدم عکس رو به درستی به محصول اضافه کنم

            var productService = new NopEngine().Resolve<IProductService>();

            var prod = new Product
            {
                Name = "Test product",
                UpdatedOnUtc = DateTime.UtcNow,
                CreatedOnUtc = DateTime.UtcNow,
            };

            var prodPicture = new ProductPicture
            {
                Picture = new Picture
                {
                    IsNew = true,
                    MimeType = "image/jpeg",
                    SeoFilename = "test",
                    PictureBinary = ImageToBinary("test.jpg")
                }
            };

            prod.ProductPictures.Add(prodPicture);

            productService.InsertProduct(prod);


و

public static byte[] ImageToBinary(string imagePath)
        {
            var fileStream = new FileStream(HttpContext.Current.Server.MapPath("~/" + imagePath), FileMode.Open, FileAccess.Read);
            var buffer = new byte[fileStream.Length];
            fileStream.Read(buffer, 0, (int)fileStream.Length);
            fileStream.Close();
            return buffer;
        }


این کد، محصول جدید ایجاد میکنه و عکس رو بهش اضافه میکنه. اگرچه این پلاگین، عکس رو نشون نمیده. بلکه "no image" رو از "content/images/default-image.gif" فراخوانی میکنه و نشون میده.

از دوستان کسی میدونه کجا رو اشتباه رفتم؟
1
4 سال پیش
#1874 نقل قول
سلام دوست محترم. شما باید عکس رو هم اضافه کنید. میتونید بررسی کنید ImportManager چطور این کار رو انجام میده

\Libraries\Nop.Services\ExportImport\ImportManager.cs

مثلا

        prod.ProductPictures.Add(new ProductPicture()
            {
                Picture = _pictureService.InsertPicture(data, "image/jpeg", _pictureService.GetPictureSeName(name), true),
                DisplayOrder = 1,
            });
1
دسته بندی ها