28/01/2013 Development / asp3

Em um dos sistemas que venho trabalhando, transformei as imagens que são feito uploads em formato binário e na hora de fazer a leitura, criei um handler que transforma os binários em imagem.

Porem, percebi que isso está deixando o sistema lento e para fazer um testículo, transformei novamente todas as imagens que eram destaque para o formato jpg novamente.

Eis o código

//*************************************

<%
Server.ScriptTimeout = 9000
sql = "select * from tabMedia where booDestaque = 1"
openConnection()
set rs = server.createobject("adodb.recordset")
rs.open sql,conexao,3,3
Dim caminho : caminho = server.MapPath("uploadsFiles/")
while rs.eof = false

'***********************************************************************************************************
'***********************************************************************************************************
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Dim objTextStream
Set objTextStream = objFSO.CreateTextFile(caminho & "/" & rs("idMedia") & ".jpg", True)
'Display the contents of the text file
objTextStream.WriteLine BinaryToString(rs("binario"))
'Close the file and clean up
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing


rs.movenext
wend

 

 '*********************************************************************************************
 'Transforma Binario em String
 '*********************************************************************************************
    Function BinaryToString(Binary)
      Const adTypeText = 2
      Const adTypeBinary = 1
     
      Dim BinaryStream
      Set BinaryStream = Server.CreateObject("ADODB.Stream")
     
        BinaryStream.Type = adTypeBinary
        BinaryStream.Open
        BinaryStream.Write Binary
        BinaryStream.Position = 0
        BinaryStream.Type = adTypeText
        BinaryStream.CharSet = "ISO-8859-1"
       
        'Save binary data To disk
        'BinaryStream.SaveToFile FileName, adSaveCreateOverWrite
     
      BinaryToString = BinaryStream.ReadText
    End Function

 

Espero que sirva!