:: Kunagorn Sirikup :: C# Developer

31/7/56

Convert ข้อมูล Image เป็น Byte[] ด้วย MemoryStream

ฐานข้อมูลส่วนใหญ่จะเก็บข้อมูล รูปภาพ หรือ ไฟล์ต่างๆ โดยการเก็บ Path เพื่ออ้างอิงถึง รูปภาพ หรือ ไฟล์ นั้นๆ ซึ่งมีข้อดีคือฐานข้อมูลมีขนาดไม่ใหญ่ และสามารถแก้ไขข้อมูลได้ง่าย แต่ในบางกรณี รูปภาพหรือไฟล์นั้นๆ อาจมีความสำคัญและจำเป็นต้องเก็บลงฐานข้อมูล ในรูปแบบของ Stream ดังนั้น เมื่อต้องการที่จะบันทึกรูปภาพหรือไฟล์ลงฐานข้อมูล จำเป็นต้อง Convert ให้อยู่ในรูปแบบของ Stream โดยใช้ MemoryStream
MemoryStream ช่วยให้สามารถรับข้อมูลที่เป็น Byte Array หรือข้อมูลอื่นๆผ่าน Stream ซึ่งมีความยืดหยุ่นกว่าการเก็บข้อมูลลง Storage ต่างๆ และสามารถเข้าถึงข้อมูลได้เร็วกว่า disk หรือ network
ก่อนจะสามารถใช้งาน MemoryStream ได้ ต้องอ้างถึง System.IO ก่อน
ตัวอย่าง using
1.อ้างอิงถึง namespace System.IO
using System.IO;
2.เขียน Code ตามตัวอย่างนี้ ในที่นี้ขอยกตัวอย่างเป็น Method สำหรับ Convert ค่ารูปภาพเป็น Byte Array
public byte[] imageToByteArray(System.Drawing.Image pImage)
{
    MemoryStream ms = new MemoryStream();
    pImage.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
    return  ms.ToArray();
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น