Fungsi Konversi File Ke Byte Array Dan Sebaliknya

,

Pada beberapa case tertentu kita memerlukan untuk menyimpan file ke dalam tabel di database. Meski pada umumnya file Image, namun sebenarnya database tidak akan membedakannya. Asalkan itu file, setelah di konversi ke dalam Byte Array, maka bisa diinsertkan ke dalam tabel yang tipe field yang sering dipakai biasanya adalah BLOB (Sql Server), MEDIUMBLOB (MySQL) dan atau LONG RAW (Oracle).

Berikut ini adalah method untuk konversi sebuah file ke dalam format byte array

/// <summary>
/// Files to byte array.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <returns></returns>
public byte[] FileToByteArray(string fileName)
{
	byte[] buffer;
	var fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
	try
	{
		var length = (int)fileStream.Length;
		buffer = new byte[length];
		int count;
		int sum = 0;

		while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
		{
			sum += count;
		}
	}
	finally
	{
		fileStream.Close();
	}
	return buffer;
}

Sedangkan fungsi berikut adalah kebalikannya, yakni konversi byte array ke dalam sebuah file

/// <summary>
/// Byte Array To File
/// </summary>
/// <param name="fileName"></param>
/// <param name="byteArray"></param>
/// <returns></returns>
public bool ByteArrayToFile(string fileName, byte[] byteArray)
{
	try
	{
		var fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write);
		fileStream.Write(byteArray, 0, byteArray.Length);
		fileStream.Close();
		return true;
	}
	catch (Exception exception)
	{
		MessageBox.Show(exception.Message);
	}

	return false;
}

Jangan lupa untuk menambahkan using-nya sbb:

// using system.io
using System.IO;

Selamat belajar dan semoga bermanfaat.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.