آموزش تبدیل آرایه های بایتی به رشته در Asp.Net با C#.Net و VB
آموزش تبدیل آرایه های بایتی به رشته در Asp.Net با C#.Net و VB
در این پست می خواهیم چگونگی تبدیل آرایه به رشته را در Asp.Net با سی شارپ و ویژوال بیسیک را آموزش دهیم.
برای تبدیل آرایه ها به رشته می خواهیم مثالی بر روی آپلود تصاویر را بررسی کنیم. روال کار به این صورت خواهد بود که با دریافت تصویر که به صورت بیت مپ هست مستقیم تصویر را پس از آپلود به رشته تبدیل و تصویر را روی صفحه نمایش دهیم.
ابتدا یک پروژه بانام iranganj_Upload از نوع asp ایجاد می کنیم.
نیاز به یک وب فرم از نوع سی شارپ داریم بانام iranganj ایجاد میکنیم. سپس یک آپلودر با یک باتن برای آپلود کردن به فرم اضافه می کنیم.
<asp:FileUpload ID="FU" runat="server" />
<asp:Button Text="آپلود" ID="btnUP" OnClick="btnUP_Click"
runat="server" />
یک img هم در نظر میگیرم که پس از تبدیل شدن آرایه به رشته بتوانیم تصویر را نمایش بدهیم.
<asp:Image ID="IMG" Visible="false" Height="100" Width="100" runat="server" />
در قسمت کلاینت در رویداد باتن کد زیر را می نویسیم.
System.IO.Stream fs = FU.PostedFile.InputStream; System.IO.BinaryReader br = new System.IO.BinaryReader(fs); Byte[] bytes = br.ReadBytes((Int32)fs.Length); string base64String = Convert.ToBase64String(bytes, 0, bytes.Length); IMG.ImageUrl = "data:image/png;base64," + base64String; IMG.Visible = true;
همانطور که می بینید پس از دریافت ورودی از آپلودر آن را که از نوع بایت هست را میخواند و سپس به رشته تبدیل و آن را به آدرس تصویر پیش فرضی که در نظر گرفتیم پاس میدهد.
این روش سی شارپ بود که برای تبدیل در نظر گرفته شد برای ویژوال بیسیک هم به صورت زیر عمل میکنیم.
یک وب فرم از نوع بیسیک ایجاد میکنیم و همان کد ها که برای آپلودر و باتن و تصویر در نظر گرفتیم را برای آن می نویسیم.
<asp:FileUpload ID="FU" runat="server" /> <asp:Button Text="آپلود" ID="btnUP" OnClick="btnUP_Click" runat="server" /> <hr /> <asp:Image ID="IMG" Visible="false" Height="100" Width="100" runat="server" />
در قسمت کلاینت صفحه هم کد زیر را مینویسیم.
Partial Class VB Inherits System.Web.UI.Page Protected Sub btnUpload_Click(sender As Object, e As EventArgs) Dim fs As System.IO.Stream = FileUpload1.PostedFile.InputStream Dim br As New System.IO.BinaryReader(fs) Dim bytes As Byte() = br.ReadBytes(CType(fs.Length, Integer)) Dim base64String As String = Convert.ToBase64String(bytes, 0, bytes.Length) Image1.ImageUrl = "data:image/png;base64," & base64String Image1.Visible = True End Sub End Class
مراحل الگوریتمی به همان صورت سی شارپ هست و فقط زبان برنامه نویسی متفاوت می باشد.
حاصل کار:
نظر / سوال