Chrome и Firefox не показват изображение от база данни

Имам проблем с извличането на изображение от базата данни с Entity FrameWork 6 в Chrome и Firefox, нямам този проблем с Internet Explorer. Това е третият "метод", който съм пробвал и двата постигат същия резултат. Това е просто уеб приложение, което записва и извлича изображение от базата данни, колоните с текст и числа работят добре, само изображението не работи.

SaveMethod

protected void btnSave_Click(object sender, EventArgs e)
{
// Code for Save Image
if (FUImage.HasFile)
{
    int length = FUImage.PostedFile.ContentLength;
    byte[] img = new byte[length];
    FUImage.PostedFile.InputStream.Read(img, 0, length);
    ImageGallery ig = new ImageGallery
    {
        SLID = 0,
        ImageTitle = txtImageTitle.Text.Trim(),
        Picture = img
    };
    using (MyDatabaseEntities1 dc = new MyDatabaseEntities1())
    {
        dc.ImageGalleries.Add(ig);
        dc.SaveChanges();
        lblMsg.Text = "Successfully Saved";

        // populate Gallery image Here
        PopulateGallery();
    }
}
}

Изберете метод

private void PopulateGallery()
{
// here code for populate image gallery
using (MyDatabaseEntities1 dc = new MyDatabaseEntities1())
{
    List<ImageGallery> imgGallery = new List<ImageGallery>();
    imgGallery = dc.ImageGalleries.ToList();
    gvGallery.DataSource = imgGallery;
    gvGallery.DataBind();
}
}

Метод на конвертиране

protected string GetImageString64(byte[] Image)
{
// For convert byte image to base 64 string
string base64String = Convert.ToBase64String(Image, 0, Image.Length);
return "data:image/png;base64 ," + base64String;
}

Шаблон с Eval в GridView

                    <asp:TemplateField ItemStyle-Width="150px">
                    <ItemTemplate>
                        <asp:Image ID="Image1" runat="server" Width="100px" ImageUrl='<%#Eval("Picture").ToString() == ""?"": GetImageString64((byte[])Eval("Picture")) %>' />
                    </ItemTemplate>
                    </asp:TemplateField>

Въпросът е, че уеб приложението работи перфектно в IE, но не и в Chrome и Firefox и не мога да намеря anwaser никъде, между другото, аз съм начинаещ с aspnet и имам нужда САМО от сайт, който запазва и извлича изображения, не е необходимо да бъдете с юридическо лице, така че ВСЯКО решение или предложение ще бъде благодарно.

Благодаря за всички вас.


person Jeú Casulo    schedule 25.02.2016    source източник


Отговори (1)


Запазете само името на файла в таблицата на базата данни и запазете изображението в пътя на вашия сървър и извиканото изображение от сървъра на вашата aspx страница...

person Pragnesh    schedule 25.02.2016
comment
Това, което той иска, е да извлече изображението от (може би BLOB) в базата данни. Да приемем, че това е правилното решение за неговата уеб страница, вашето предложение не добавя никаква стойност към решение с текущата му реализация... - person DTH; 25.02.2016
comment
Pragnesh - Под сървърен път имате предвид локално устройство/папка? Видях нещо за това, но правилният процес ли е? (Наистина не знам). Чудя се дали многото изображения могат да претоварят сайта и да го направят бавен/тежък. - person Jeú Casulo; 25.02.2016
comment
DTH - Използвам таблица с колона тип изображение, но работи и с двоичен тип - person Jeú Casulo; 25.02.2016
comment
Мога да запазя изображението в локално устройство точно по този начин FileUpload1.SaveAs(Server.MapPath(~/Images/ + FileName)); Но въпросът е ДАЛИ ще реши проблема, тъй като има проблем само с google chrome и firefox - person Jeú Casulo; 25.02.2016
comment
Jeu Casulo - използвах изображения към сървър/папка от самото начало, но все още не получих никакъв проблем с chrom и firefox. Моля, проверете дали няма проблем с вашето изображение или проект... Моля, създайте тестов уебсайт и опитайте да заредите изображения. .ако не; не показва изображение, тогава има проблем с вашето системно приложение, Ако нямате нищо против, поставете кода си и ми позволете да проверя кода ви - person Pragnesh; 26.02.2016