Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Sovrascrivere file con upload!

    codice:
    <%
    dim utente
    utente = ""
    dim password
    password = ""
    if Session ("sssUtente") = utente or Session("sssPassword") = password then 
    response.redirect("password.asp?errore=1")
    end if
    %>
    
    <%
    
    if request.querystring("fase")="seconda" then
    dim pagina_di_destinazione
    pagina_di_destinazione=Session("sssUtente") & "/" & session("sssUtente") & ".asp" 
    'On Error Resume Next 
    percorso = "C:\Inetpub\inc.it\password\"&session("sssUtente")&"\"
    
    ByteRicevuti = Request.TotalBytes
    
    if ByteRicevuti > 0 then
    	DatiRicevuti = Request.BinaryRead(ByteRicevuti)
    	For i = 1 To lenB(DatiRicevuti)
    		FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
    	Next
    	FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
    	ArrPezzi = split(FileBinario,FirmaFile)
    
    	for item = 1 to ubound(ArrPezzi)-1
    		Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
    		Intestazione = left(ArrPezzi(item),Inizio-1)
    		Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
    	    	ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)
    	    
    		if instr(Intestazione,"file1") > 0 then
    		    i = instr(Intestazione,"filename=")
    			j = instr(i + 10,Intestazione,chr(34))
    			NomeUpload = mid(Intestazione,i + 10,j-i-10)
    			i = instrRev(NomeUpload,"\")
    			if i<>0 then
        		    NomeFile = mid(NomeUpload,i + 1)
        		else
        			NomeFile = NomeUpload
        		end if
          		if i<>0 then
    				Set FSO = CreateObject("Scripting.FileSystemObject")
    				Upload1 = True
    				DimensioneFile1 = len(ContenutoFile)
    				EstensioneFile1 = right(ContenutoFile,3)
            NomeFile1  = NomeFile
        			Set textStream = FSO.CreateTextFile(percorso & NomeFile1, True, False)
        			textStream.Write ContenutoFile
        			textStream.Close
        			Set textStream = Nothing
    	   			Set FSO = Nothing
        	   end if
    		end if
    	next
    If Upload1 = true then
    	Response.Write "
    La dimensione del file che hai uploadato è di " & DimensioneFile1*0.001 & "kb"
    	Response.Write "
    Grazie di aver inviato il tuo file"
    End If
    End if
            if Err.Number <> 0 then 
        %>
        <script>
        alert("Attenzione c'è un errore. Upload annullato! Controllare e ripetere l'operazione");
        window.location.href="upload.asp";
     </script>
    <%
    end if
    end if
    %>
    <form action="upload.asp?fase=seconda&x=false" method="post" enctype="multipart/form-data">
    FILE
    <input type="file" name="file1" size="20">
    <input type="submit" value="Upload">
    </form>
    <%
    if request.querystring("fase")="seconda"  then
    response.write "<SCRIPT>window.setTimeout(""location.href='"&pagina_di_destinazione&"';"",'3000');</SCRIPT>"
    end if
    %>
    scusate il codice che ho scritto è l'upload che si trova
    http://freeasp.html.it/articoli/view...olo.asp?id=169

    il problema di questo upload oltre alla lentezza, è che vorrei fare un'aggiunta facilissma che però pare nascondere qualche insidia...

    Voorei creare una condizione che se NomeFile1 è uguale al file che in questo caso corrisponde a session("sssUtente")&".asp" mi chiede la conferma se sicuri di voler sovrascrivere il file.. Sembrava tutto facile ma stranamente NomeFile1 e session("sssUtente")&".asp" nonostante avessero gli stessi valori stringa, escono sempre come diversi. Infatti ho fatto una prova con response.write ed è uscito per esempio in quella circostanza
    x.asp e x.asp eppure la condizione nonostante, usciva come falsa!!

    Secondo voi da che cosa può dipendere, nel senso NomeFile1 che cosa ha che vede diverso anche se in realtà sono uguali??

    Visto che l'uplod l'ho preso cosi come era ho pensato che magari MioFile1 magari è come un'array oppure non so più cosa dire!!

    Qualcuno sa rispondermi e aiutarmi?? grazie anticipatamente! ciao
    Tony

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Cambia codice di upload, scaricati quello di baol74 ed imposta così questa proprietà:
    codice:
    oUpload.Overwrite = false

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    perchè cosa ha questo che non va?

    Quello non so ne dove prenderlo e sopratutto è troppo complicato e lungo per le mie necessiatà! A me serve una cosa semplice e sopratutto corto!

    Una volta mi pare di averlo visto, sicuramente è migliore ma è troppo complicato per me!
    Tony

  4. #4
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Guarda che l'upload di baol è di una semplicità estrema, devi soltanto predisporti il form con cui inviare i files; lo zip è zeppo d'esempi per tutti i gusti e necessità:

    http://www.aspxnet.it/public/files/d.../upload312.zip

  5. #5
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    ??? ma sono 12 files!!

    io max uno e comunque non dico facile da modificare ma il codice, se dovessi crearne uno uguale se non ne sarei mai capace!!

    Come faccio a spiegare quel botto di codice! Quello che ho scaricato qua è più indicato a neofiliti come me credo!
    http://www.freeasp.html.it/articoli/...olo.asp?id=169

    Io devo capire il codice che inserisco altrimenti non ha senso!!
    Tony

  6. #6
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    ti perdi in un bicchier d'acqua... prova dunque ad adattarti questa funziona che rinomina i files secondo un progressivo se il file esiste già sul server
    codice:
    Dim gFS
    Function GetUniqueFileName(FileName, DestPath)
      if isempty(gFS) then Set gFS = CreateObject("Scripting.FileSystemObject")
      Dim Counter, FullPath, NewFileName
      Counter = 1
      NewFileName = FileName
      
      if gFS.FileExists(DestPath & "\" & NewFileName) then
    		Do 
    			Counter = Counter + 1
    			NewFileName = Counter & "_" & FileName
    		Loop while gFS.FileExists(DestPath & "\" & NewFileName)
      end if
      GetUniqueFileName = NewFileName
    End Function

  7. #7
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    ok il problema è proprio questo:

    ti perdi in un bicchier d'acqua... prova dunque ad adattarti questa funziona che rinomina i files secondo un progressivo se il file esiste già sul serverDim gFS
    come faccio ad adattere questa funzine che rinomina i files secondo un progressivo se il file esiste già sul serverDim gFS (che non so neanche che vuol dire) se non posso creare la condizione se nomeFile1 = pippo.asp allora...


    Spero di essermi spiegato meglio...

    grazie!

    Come posso fare?
    Tony

  8. #8
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    up
    Tony

  9. #9
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    up
    Tony

  10. #10
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    ok ho scaricato l'upload di baol74 ora come faccio a sovrascrivere i files?
    Tony

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 © 2025 vBulletin Solutions, Inc. All rights reserved.