Arjuna Aircraft Ident.: F-MBSD | Bon, j'ai réussi à m'en sortir, mais sans faire vraiment le "MEMTOMEM".
Je compresse le contenu de mon fichier depuis la mémoire dans un fichier sur le disque, puis j'affiche le contenu du fichier.
Impossible d'utilise la méthode 100% mémoire.
Dans l'ASP :
Code :
- If Request.Form("uplmethod" ) = "zip" Then
- Dim zipper
- Set zipper = Server.CreateObject("sInterClassART.clsdExportFile" )
- Response.BinaryWrite zipper.MemoryStringToGZ(content, Request.Form("dataType" ) & "_" & Year(Now) & Right("0" & Month(Now), 2) & Right("0" & Day(Now), 2) & "." & Request.Form("fileformat" ), Server.MapPath(Application("REP_ETATS_TMP" )))
- Else
- Response.Write content
- End if
|
Module VB :
Code :
- Function BinFileReadAndKill(ByVal inFileSpec As String) As Variant
- Dim mHandle
- Dim lngFileLen As Long
- Dim arrData() As Byte
- mHandle = FreeFile
- Open inFileSpec For Binary Access Read As #mHandle
- lngFileLen = FileLen(inFileSpec)
- ReDim arrData(lngFileLen)
- Get #mHandle, , arrData
- Close #mHandle
- Kill inFileSpec
- BinFileReadAndKill = CVar(arrData)
- End Function
- Function MemoryStringToGZ(ByVal memoryBlock As String, ByVal contentFileName As String, ByVal tmpPath As String) As Variant
- Dim dynaZip As New gtactx
- Dim fso As New FileSystemObject
- Dim tmpFile As String
-
- Dim bytes() As Byte
- Dim curs As Long
- ReDim bytes(Len(memoryBlock))
- For curs = 0 To Len(memoryBlock) - 1
- bytes(curs) = CByte(Asc(Mid(memoryBlock, curs + 1, 1)))
- Next
-
- Dim reader As New clsdExportFile
- tmpFile = tmpPath & "\" & fso.GetTempName()
-
- dynaZip.bAddComment = True
- dynaZip.GZIPComment = "Automatically generated on " & Now()
- dynaZip.bAllQuiet = True
- dynaZip.bBackgroundProcessing = False
- dynaZip.bDiagnostic = False
- dynaZip.bDosify = False
- dynaZip.bEncryptFlag = False
- dynaZip.bExclDate = False
- dynaZip.bGrowExisting = False
- dynaZip.bInclDate = False
- dynaZip.bIncludeSysHidden = False
- dynaZip.bLFtoCRLF = False
- dynaZip.bMajorStatus = False
- dynaZip.bMessageCallback = False
- dynaZip.bMinorStatus = False
- dynaZip.bNoDirectoryNames = True
- dynaZip.bRecurseFlag = False
- dynaZip.bRenameCallback = False
- dynaZip.bUseEncodedBinary = False
- dynaZip.CompFactor = 9
- dynaZip.memoryBlock = CVar(bytes)
- dynaZip.MemoryBlockSize = Len(memoryBlock)
- dynaZip.GTFile = tmpFile
- dynaZip.ItemList = contentFileName
- dynaZip.ActionGT = 4 ' GT_GZIP_MEMTOFILE : Compress memory to file gzip format
- MemoryStringToGZ = BinFileReadAndKill(tmpFile)
- End Function
|
Ca marche, j'y touche plus  |