Link to home
Start Free TrialLog in
Avatar of Amita
Amita

asked on

resizing of image while uploading ?

I am using some ASP code for uploading Images....I want to resize the images while uploading .... is it possible in ASP ? The code of uploading is as follows....I got it from net...

Server.ScriptTimeout = 500
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest, strTitle, intHeight, intWidth, strAltText, ContentType, intType,intFormat
Dim filename1
set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest  RequestBin
intFormat=UploadRequest.Item("THEFILE1").Item("Value")
UpLoadTheFileImage1

Function UpLoadTheFileImage1
      contentType = UploadRequest.Item("THEFILE1").Item("ContentType")
      filepathname = UploadRequest.Item("THEFILE1").Item("FileName")
      filename1 = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
      filename1 = "T_" & second(time) * minute(time) & filename1
      Title_filename=filename1
      value = UploadRequest.Item("THEFILE1").Item("Value")
                Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
      pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-17
      Set filesys = CreateObject("Scripting.FileSystemObject")
      fPath="C:\Inetpub\wwwroot\marlinrealestate\amor\Images\"
      bann= fPath & filename1
      path=bann
      Set MyFile = ScriptObject.CreateTextFile(bann)
      For i = 1 to LenB(value)
            MyFile.Write chr(AscB(MidB(value,i,1)))
      Next
      MyFile.Close
      UpLoadTheFileImage1=Title_filename
End Function

Sub BuildUploadRequest(RequestBin)
      'Get the boundary
      PosBeg = 1
      PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
      boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
      boundaryPos = InstrB(1,RequestBin,boundary)
      'Get all data inside the boundaries
      Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
            'Members variable of objects are put in a dictionary object
            Dim UploadControl
            Set UploadControl = CreateObject("Scripting.Dictionary")
            'Get an object name
            Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
            Pos = InstrB(Pos,RequestBin,getByteString("name="))
            PosBeg = Pos+6
            PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
            Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
            PosBound = InstrB(PosEnd,RequestBin,boundary)
            'Test if object is of file type
            If  PosFile<>0 AND (PosFile<PosBound) Then
                  'Get Filename, content-type and content of file
                  PosBeg = PosFile + 10
                  PosEnd =  InstrB(PosBeg,RequestBin,getByteString(chr(34)))
                  FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
                  'Add filename to dictionary object
                  UploadControl.Add "FileName", FileName
                  Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
                  PosBeg = Pos+14
                  PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
                  'Add content-type to dictionary object
                  ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
                  UploadControl.Add "ContentType",ContentType
                  'Get content of object
                  PosBeg = PosEnd+4
                  PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
                  Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
            Else
                  'Get content of object
                  Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
                  PosBeg = Pos+4
                  PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
                  Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            End If
            'Add content to dictionary object
                      UploadControl.Add "Value" , Value      
            'Add dictionary object to main dictionary
            uploadRequest.Add name, UploadControl      
            'Loop to next object
            BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
      Loop
      
End Sub
      
'String to byte string conversion
Function getByteString(StringStr)
       For i = 1 to Len(StringStr)
            char = Mid(StringStr,i,1)
            getByteString = getByteString & chrB(AscB(char))
       Next
End Function
      
'Byte string to string conversion
Function getString(StringBin)
       getString =""
       For intCount = 1 to LenB(StringBin)
            getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
       Next
End Function

Or if there is any third party component(not ASPUPload) which can do image resizing..?
Avatar of Gary
Gary
Flag of Ireland image

You cant do this in ASP and I've never found a free one.
http://www.aspjpeg.com/download.html
ASKER CERTIFIED SOLUTION
Avatar of ap_sajith
ap_sajith

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Excellent list ap_sajith! and bookmarked :o)
Avatar of ap_sajith
ap_sajith

Hi Amita,
Any updates?
Cheers!!