Maideen Abdul Kader Ответов: 1

Как отобразить изображения в ASP.NET страница из базы данных mssql


Привет
У меня есть проблема с загрузкой изображений с расширением файла .jpeg / .png / .bmp из базы данных

Пользователь загружает несколько типов изображений/документов/pdf/jpeg и т.д.

В настоящее время только формат pdf может отображаться только на странице. и работает нормально

Я храню путь к изображениям/doc/pdf в таблице данных

Как можно получить/дисплей изображения/документа/формат PDF/JPEG и т. д. на странице asp.net


Пожалуйста, посоветуйте мне

Мейден

Что я уже пробовал:

<pre>        Dim embed As String = "<object data=""{0}"" type=""application/pdf"" width=""100%"" height=""500px"">"
        embed += "If you are unable to view file, you can download from <a href = ""{0}"">here</a>"
        embed += " or download <a target = ""_blank"" href = ""http://get.adobe.com/reader/"">Adobe PDF Reader</a> to view the file."
        embed += "</object>"
        ltEmbed.Text = String.Format(embed, ResolveUrl(Me.txtFilePath.Text))




Таблица базы данных Mssql
CREATE TABLE [dbo].[CL_UPLoad_Document](
	[id] [bigint] IDENTITY(1,1) NOT NULL,
	[DocNo] [varchar](20) NULL,
	[StaffCode] [varchar](20) NULL,
	[imgName] [varchar](100) NULL,
	[Path] [nvarchar](300) NULL,
 CONSTRAINT [PK_US_UPLoad_Docment] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

1 Ответов

Рейтинг:
1

alexvw

Привет,

Я использую два объекта на своей странице, один для изображений, а другой для PDF-файлов, которые я скрываю или показываю по мере необходимости.

<asp:Image ID="imgRespaldo" runat="server" CssClass="img-fluid" style="display:none" />

<div id="PDFObj" runat="server" class="col-12" style="display:none;" >
    <asp:Literal ID="ltObjPDF" runat="server"/>
</div>
Указанные объекты находятся внутри панели обновления.

Вот пример кода:
private void DisplayImage(GridViewRow Row)
{

    StringBuilder embedPDFObj;

    //I Get my file name and path from a grid, and build the URL as needed.
    string fileName = Row.Cells[2].Text;
    string respaldoURL = "~/Respaldos/" +  Row.Cells[1].Text + "/" + fileName;

    if (fileName.EndsWith(".pdf"))
    {
        embedPDFObj = new StringBuilder("<object data=\"{0}\" type=\"application/pdf\" width=\"100%\" >");
        embedPDFObj.Append("<embed src=\"{0}\" type=\"application/pdf\"></embed>");
        embedPDFObj.Append("</object>");

        ltObjPDF.Text = string.Format(embedPDFObj.ToString(), ResolveUrl(respaldoURL));
        RootCore.SetDisplayStyle(PDFObj, true, UpdPanelImg);
    }
    else // Images
    {
        imgRespaldo.AlternateText = fileName;
        imgRespaldo.ImageUrl = respaldoURL;
        RootCore.SetDisplayStyle(imgRespaldo, true, UpdPanelImg);
    }
}
Мой метод "SetDisplayStyle" отвечает за изменение настроек отображения данного стиля управления.

Надеюсь, это поможет, ура!


Maideen Abdul Kader

привет Спасибо за быстрый ответ.
Я не понимаю, что такое rootcore?
Пожалуйста, посоветуйте мне

спасибо

alexvw

Привет,

RootCore-это вспомогательный класс, который я добавляю в свои проекты, где я пишу методы, представляющие общий интерес/доступность во всем коде.

Метод SetDisplayStyle, который вы можете видеть в примере кода, который я вам послал, отвечает за установку атрибута display свойства style сигнализируемого элемента управления. например { style="display:none;" }

Ваше здоровье!