Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    upload e utenti smanettoni..

    ho un upload

    codice:
    <% byteCount = Request.TotalBytes
      RequestBin = Request.BinaryRead(byteCount)
      Dim UploadRequest
      Set UploadRequest = CreateObject("Scripting.Dictionary")
      BuildUploadRequest  RequestBin
      contentType = UploadRequest.Item("foto").Item("ContentType")
      filepathname = UploadRequest.Item("foto").Item("FileName")
      filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
      value = UploadRequest.Item("foto").Item("Value")
    
      'Create FileSytemObject Component
      Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
    
      'Create and Write to a File
      pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
      Set MyFile = ScriptObject.CreateTextFile(Server.MapPath("../../foto/bbart/"&Session.SessionID&filename)) 
     
      For i = 1 to LenB(value)
    	 MyFile.Write chr(AscB(MidB(value,i,1)))
      Next
      MyFile.Close%>
    
    
    
    <%
    Sub BuildUploadRequest(RequestBin)	
    	PosBeg = 1
    	PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    	boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    	boundaryPos = InstrB(1,RequestBin,boundary)
    	Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
    		Dim UploadControl
    		Set UploadControl = CreateObject("Scripting.Dictionary")
    		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)
    		If  PosFile<>0 AND (PosFile<PosBound) Then
    			PosBeg = PosFile + 10
    			PosEnd =  InstrB(PosBeg,RequestBin,getByteString(chr(34)))
    			FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    			UploadControl.Add "FileName", FileName
    			Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
    			PosBeg = Pos+14
    			PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    			ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    			UploadControl.Add "ContentType",ContentType
    			PosBeg = PosEnd+4
    			PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
    			Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    			Else
    			Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
    			PosBeg = Pos+4
    			PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
    			Value = getString(MidB(RequestBin,PosBeg+2,PosEnd-PosBeg))
    		End If
    		UploadControl.Add "Value" , Value	
    		UploadRequest.Add name, UploadControl	
    		BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
    	Loop
      End Sub
      Function getByteString(StringStr)
    	For i = 1 to Len(StringStr)
    		char = Mid(StringStr,i,1)
    		getByteString = getByteString & chrB(AscB(char))
    	Next
      End Function
      Function getString(StringBin)
    	getString =""
    	For intCount = 1 to LenB(StringBin)
    		getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
    	Next
      End Function
    %>
    </BODY>
    </html>
    
    
    
    <script>
    window.opener.document.inputForm.foto.value = "<%=Session.SessionID & filename%>" window.opener.focus(); 
    window.close(); 
    </script>

    questo upload mi carica la foto sul server nominandola 4328654424foto.jpg

    ora io lo usavo affinchè al momento della registrazione inserissero una foto...però poi successivamente uso lo stesso per farla cambiare e succede che si caricano milioni di foto senza poterle gestire perchè con nomi assurdi

    ora ho deciso di far inserire la foto dall'interno una volta iscritti
    al sito così potrei recuperare l'user e nominare la foto con l'user
    come posso modificare l'upload soprascritto per far si che mi nomini la foto con l'user inserito?


    mille grazie e spero mi sia spiegato :master:
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    Set MyFile = ScriptObject.CreateTextFile(Server.MapPath("../../foto/bbart/"&Session("username")&"_"&filename))

    Roby

  3. #3
    grazie
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #4
    come potrei mettere anche il limite di 100 kb?

    ho evitato di aprire un altro threaid

    azie ancora
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  5. #5
    up
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.