Rubrik: Dateisystem · Dateien lesen/schreiben | VB-Versionen: VB2005, VB2008 | 06.12.10 |
Datei nach Base64 codieren und speichern Eine Funktion mit der sich eine beliebige Datei nach Base64 codieren und unter einem anderen Namen wieder speichern lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 11.150 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit nachfolgender Funktion lässt sich eine beiebige Datei nach Base64 codieren und unter einem anderen Namen wieder abspeichern.
''' <summary> ''' Codiert die angegebene Datei nach Base64 ''' </summary> ''' <param name="sFileIn">Input-Datei</param> ''' <param name="sFileOut">Outout-Datei</param> ''' <returns>True, wenn Datei erfolgreich codiert wurde.</returns> ''' <remarks></remarks> Private Shared Function FileToBase64(ByVal sFileIn As String, _ ByVal sFileOut As String) As Boolean Dim bResult As Boolean = False Dim oReader As IO.FileStream = Nothing Dim oWriter As IO.StreamWriter = Nothing Try ' Falls Output-Datei bereits existiert, löschen If IO.File.Exists(sFileOut) Then IO.File.Delete(sFileOut) ' Input-Datei zum Lesen öffnen oReader = New IO.FileStream(sFileIn, IO.FileMode.Open, IO.FileAccess.Read) ' Output-Datei zum Schreiben öffnen oWriter = New IO.StreamWriter(sFileOut, False, System.Text.Encoding.Default) ' Datei blockweise einlesen Dim nBytes As Integer Dim Buffer(56) As Byte Do nBytes = oReader.Read(Buffer, 0, Buffer.Length) If nBytes > 0 Then ' Inhalt nach Base64 codieren und in Output-Datei schreiben oWriter.WriteLine(System.Convert.ToBase64String(Buffer, 0, nBytes)) End If Loop Until nBytes = 0 ' Streams (Dateien) schließen oReader.Close() oWriter.Close() bResult = True Catch ex As Exception If oReader IsNot Nothing Then oReader.Close() If oWriter IsNot Nothing Then oWriter.Close() End Try Return bResult End Function
Aufrufbeispiel:
Dim bResult As Boolean = _ FileToBase64("D:\bild1.jpg", "D:\bild1.dat")