Я застрял при интеграции данных, созданных в VB.net, в новое приложение php.
У меня есть две функции для сжатия и распаковки данных (например, изображения):
''' <summary>
''' Compress data into zip
''' </summary>
''' <param name="bin">input byte array</param>
''' <returns>output byte array</returns>
''' <remarks></remarks>
Public Shared Function CompressData(ByVal bin() As Byte) As Byte()
Dim buffer(1024 * 4 - 1) As Byte
Dim mout As New System.IO.MemoryStream()
Using zout As New ICSharpCode.SharpZipLib.Zip.ZipOutputStream(mout)
zout.SetLevel(9)
Using min As New System.IO.MemoryStream(bin)
Dim zentry As New ICSharpCode.SharpZipLib.Zip.ZipEntry(String.Empty)
zout.PutNextEntry(zentry)
ICSharpCode.SharpZipLib.Core.StreamUtils.Copy(min, zout, buffer)
End Using
zout.Finish()
End Using
Return mout.ToArray()
End Function
''' <summary>
''' Uncompress data from zip
''' </summary>
''' <param name="bin">input byte array</param>
''' <returns>output byte array</returns>
''' <remarks></remarks>
Public Shared Function DecompressData(ByVal bin() As Byte) As Byte()
Dim buffer(1024 * 4 - 1) As Byte
Dim mout As New System.IO.MemoryStream()
Using zin As New ICSharpCode.SharpZipLib.Zip.ZipInputStream(New System.IO.MemoryStream(bin))
Dim zentry As ICSharpCode.SharpZipLib.Zip.ZipEntry = zin.GetNextEntry()
Do While zentry IsNot Nothing
If zentry.IsFile Then
ICSharpCode.SharpZipLib.Core.StreamUtils.Copy(zin, mout, buffer)
Exit Do
End If
Loop
End Using
Return mout.ToArray()
End Function
В базе данных у меня есть закодированный в base64 текст, созданный функцией CompressData, и я могу прочитать и base64_decode текст.
Есть идеи, как вернуть исходный файл на PHP?
Приветствия!