توضیحات و دانلود

نمایش تصاویر خارج از ریشه اصلی وب سایت در asp.net
0 0
نمایش تصاویر خارج از ریشه اصلی وب سایت در asp.net

در این مقاله توضیح خواهیم داد که چگونه تصاویری را که خارج از پوشه WebSite ذخیره شده اند، نمایش دهیم که در این صورت تصاویر از ASP.Net نمایش داده نخواهد شد.  کنترل تصویر ,تصویر مربوط به تصویر را با توجه به پوشه ی وب سایت می پذیرد و تصاویر باید در WebSite ذخیره شوند.

به عنوان مثال اگر  یک پوشه به نام تصاویر در پوشه وب سایت داشته باشم   یعنی D: \ وب سایت \ تصاویر سپس مسیر نسبی تصویر خواهد بود

<asp:Image ID="Image1" runat="server" ImageUrl = "~/images/Test.JPG" />

یا این مسیر :

<asp:Image ID="Image2" runat="server" ImageUrl = "images/Test.JPG" />

هر دو مورد فوق کار خواهند کرد.

اما اگر تصاویر در خارج از پوشه وب سایت ذخیره شوند به عنوان مثال C: \ تصاویر و وب سایت من در D: \ وب سایت

<asp:Image ID="Image1" runat="server" ImageUrl = " C:\images\Test.JPG" />

با استفاده از تکنیک بالا تصاویر نمایش داده نمی شود.از این رو برای نمایش تصاویر

1.  یک پوشه در دایرکتوری وب سایت ایجاد کرده

2. تصویر را به یک جریان بایت بخوانید و آن را به پاسخ ارسال کنید.

 تصاویر زیر را از سه فرمت مختلف یعنی JPEG، GIF و PNG در مسیر C: \ images ذخیره کردیم

1. TestJPG.jpg

2. TestGIF.gif

3. TestPNG.png

تصاویر را بخوانید

برای بازگرداندن تصاویر از پوشه تصویر و نمایش آن  یک صفحه تصویر ایجاد می کنید که کار آن برای دریافت FileName است و نام فایل تصویری است که باید نمایش داده شود.

بر اساس نام فایل، صفحه تصویر را از مسیر باز می کنید و تبدیل و نوشتن آن را به Response. کد زیر را مرور کنید

C # [ImageCSharp.aspx]

protected void Page_Load(object sender, EventArgs e)

{

if (Request.QueryString["FileName"] != null)

{

    try

    {

        // Read the file and convert it to Byte Array

        string filePath = "C:\\images\\";

        string filename = Request.QueryString["FileName"];

        string contenttype = "image/" +

        Path.GetExtension(Request.QueryString["FileName"].Replace(".","");

        FileStream fs = new FileStream(filePath + filename,

        FileMode.Open, FileAccess.Read);

        BinaryReader br = new BinaryReader(fs);

        Byte[] bytes = br.ReadBytes((Int32)fs.Length);

        br.Close();

        fs.Close();

 

        //Write the file to response Stream

        Response.Buffer = true;

        Response.Charset = "";

        Response.Cache.SetCacheability(HttpCacheability.NoCache);

        Response.ContentType = contenttype;

        Response.AddHeader("content-disposition", "attachment;filename=" + filename);

        Response.BinaryWrite(bytes);

        Response.Flush();

        Response.End();

    }

    catch

    {

    }

}

}

VB.Net [ImageVB.aspx]

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

Handles Me.Load

 If Request.QueryString("FileName") IsNot Nothing Then

   Try

      ' Read the file and convert it to Byte Array

      Dim filePath As String = "C:\images\"

      Dim filename As String = Request.QueryString("FileName")

      Dim contenttype As String = "image/"

      & Path.GetExtension(filename).Replace(".", "")

 

      Dim fs As FileStream = New FileStream(filePath & filename,

      FileMode.Open, FileAccess.Read)

     

      Dim br As BinaryReader = New BinaryReader(fs)

      Dim bytes As Byte() = br.ReadBytes(Convert.ToInt32(fs.Length))

      br.Close()

      fs.Close()

 

      'Write the file to Reponse

      Response.Buffer = True

      Response.Charset = ""

      Response.Cache.SetCacheability(HttpCacheability.NoCache)

      Response.ContentType = contenttype

      Response.AddHeader("content-disposition", "attachment;filename=" & filename)

      Response.BinaryWrite(bytes)

      Response.Flush()

      Response.End()

      Catch

 

      End Try

 

 

 End If

End Sub

نمایش تصاویر

برای نمایش تصویر در صفحه ASP.PIC ASP.NET Image Control ازکد زیر استفاده کنید.

<asp:image ID="Image4" runat="server" ImageUrl ="ImageCSharp.aspx?FileName=TestJPG.jpg"/>

<asp:image ID="Image5" runat="server" ImageUrl ="ImageCSharp.aspx?FileName=TestGIF.gif"/>

<asp:image ID="Image6" runat="server" ImageUrl ="ImageCSharp.aspx?FileName=TestPNG.png"/>

 

<asp:image ID="Image4" runat="server" ImageUrl ="ImageVB.aspx?FileName=TestJPG.jpg"/>

<asp:image ID="Image5" runat="server" ImageUrl ="ImageVB.aspx?FileName=TestGIF.gif"/>

<asp:image ID="Image6" runat="server" ImageUrl ="ImageVB.aspx?FileName=TestPNG.png"/>

همانطور که قبلا متوجه شدید آدرس URL ImageCasharp.aspx (C # Version) و ImageVB.aspx (نسخه VB.Net)
که File Name نام تصویر را به عنوان Parameter QueryString می پذیرد.

شکل زیر نشان می دهد که تصاویر چگونه نمایش داده می شوند.

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :