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

    Errore su script per cancellare file dal server e caricarne uno nuovo

    Salve ragazzi ho la necessità di poter cancellare una file dal server e successivamente caricarne uno nuovo.

    Ho provato in questo modo:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    
    <%
    Dim rsCaricamento__MMColParam
    rsCaricamento__MMColParam = "1"
    If (Request.QueryString("id_archivio") <> "") Then 
      rsCaricamento__MMColParam = Request.QueryString("id_archivio")
    End If
    %>
    <%
    Dim rsCaricamento
    Dim rsCaricamento_numRows
    
    Set rsCaricamento = Server.CreateObject("ADODB.Recordset")
    rsCaricamento.ActiveConnection = MM_archivioDiCastroSql_STRING
    rsCaricamento.Source = "SELECT * FROM archivio WHERE id_archivio = " + Replace(rsCaricamento__MMColParam, "'", "''") + ""
    rsCaricamento.CursorType = 0
    rsCaricamento.CursorLocation = 2
    rsCaricamento.LockType = 1
    rsCaricamento.Open()
    
    rsCaricamento_numRows = 0
    %>
    <%
    Dim form, FileName_file1
    %>
    <%
    	If Request.QueryString("Save")="1" then
    	Dim fs 
    		Dim oUpload
    Set fs=Server.CreateObject("Scripting.FileSystemObject") 
    immagine = Server.MapPath("opere\" & rsCaricamento.Fields.Item("fotoOpera").Value)
    if fs.FileExists(immagine) then
      fs.DeleteFile (immagine)
    end if
    set fs=nothing
    
    		Set oUpload = new cUpload
    		oUpload.AutoRename = True
    		oUpload.Overwrite = False
    		oUpload.SetPath "opere" 'Impostazione del percorso
    		oUpload.Load
    		While Not oUpload.EOF
    			oUpload.Save()
    			Select Case lCase(oUpload.Files("InputName"))
    				Case "file1"
    					FileName_file1 = oUpload.GetFileName()
    			End Select
    			oUpload.MoveNext
    			Wend
    			
    			end if
    %>
    Solo che mi restituisce il seguente errore:
    codice:
    ADODB.Field error '800a0bcd' 
    
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 
    
    /archivioSql/diCastro_aggiornaFoto.asp, line 33
    La riga 33 è questa:
    immagine = Server.MapPath("opere\" & rsCaricamento.Fields.Item("fotoOpera").Value)

    Lui dice che non il record è stato cancellato ma invece il record nel DB ci sta e l'immagine sul server anche.

    Premetto che messi separatemente i due script funzionano. Solo che quando li vado ad unire ho il seguente errore.

    In questo modo invece ne mi cancella il file ne mi carica quello nuovo.

    Da cosa potrebbe dipendere?

    Grazie a tutti in anticipo.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  2. #2
    Allora ho fatto delle prove e ho notato che l'errore me lo da solo se filtro i prametri tramite quesry string dalla pagina dove ho i l'elenco dei record.

    Se faccio una semplice query dove gli dico di cancellarmi una detrminata foto l'operazione si svolge in maniera corretta.

    Non riesco a capire però il perchè di questo problema visto che comunque il file anche con il passaggio dell' ID in query string è presente.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    In querystring devi comunque passare il parametro "id_archivio".
    Fatti stampare la query.

    Roby

  4. #4
    Allora ho stampato la query a video e il risoltato è il seguente:

    SELECT * FROM dbo.archivio WHERE id_archivio = 62

    Il file della foto in questo record ci sta.

    :master:
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  5. #5
    Allora ho fatto un'altra prova.
    Ho provato ad eliminare il passaggio della cancellazione del file lasciando però il filtraggio dei dati e l'upload.

    Ho notato che anche qui mi da errore dicendomi che il file non esiste.

    E' dovuto al fatto che lui alla fine dell' upload ricarica la pagina e a qeul punto giustamente riceve l'errore perchè non provengo da una pagina da dove gli passo i dati.

    Dovrei evitare il rcaricamento della pagina secondo me.
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  6. #6
    Ultimo aggiornamento.

    Sono riuscito a non far andare in errore la pagina, ecco il codice:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    
    <%
    Dim rsCaricamento__MMColParam
    rsCaricamento__MMColParam = "1"
    If (Request.QueryString("id_archivio") <> "") Then 
      rsCaricamento__MMColParam = Request.QueryString("id_archivio")
    End If
    %>
    <%
    Dim rsCaricamento
    Dim rsCaricamento_numRows
    
    Set rsCaricamento = Server.CreateObject("ADODB.Recordset")
    rsCaricamento.ActiveConnection = MM_archivioDiCastroSql_STRING
    rsCaricamento.Source = "SELECT * FROM archivio WHERE id_archivio = " + Replace(rsCaricamento__MMColParam, "'", "''") + ""
    rsCaricamento.CursorType = 0
    rsCaricamento.CursorLocation = 2
    rsCaricamento.LockType = 1
    rsCaricamento.Open()
    
    rsCaricamento_numRows = 0
    %>
    <%
    	If Request.QueryString("Save")="1" then
    	%> 
    <%If rsCaricamento.EOF Then
    		  Response.write ("")
    else%>
    <%
    Dim fs 
    Set fs=Server.CreateObject("Scripting.FileSystemObject") 
    immagine = Server.MapPath("opere\" & rsCaricamento.Fields.Item("titoloBibliografiaComparata").Value)
    if fs.FileExists(immagine) then
      fs.DeleteFile (immagine)
    end if
    set fs=nothing
    %>
    <%END IF%>
    <%
    Dim form, FileName_file1
    %>
    <%
    		Dim oUpload
    		Set oUpload = new cUpload
    		oUpload.AutoRename = True
    		oUpload.Overwrite = False
    		oUpload.SetPath "opere" 'Impostazione del percorso
    		oUpload.Load
    		While Not oUpload.EOF
    			oUpload.Save()
    			Select Case lCase(oUpload.Files("InputName"))
    				Case "file1"
    					FileName_file1 = oUpload.GetFileName()
    			End Select
    			oUpload.MoveNext
    			Wend
    			
    			end if
    			
    			%>
    Ora però nn mi cancella il file al momento del caricamento mentre se io levo la riga evidenziata in rosso me lo cancella solo che lo fa appeno apro la pagina.

    Io vorrei fare in modo che all'invio del modulo mi cancellasse il file per poi caricare quello nuovo.

    Non ho nessun errore e il file mi viene regolarmente caricato. Solo che non cancella quello sul server.

    Ultimo aiutino così dopo è perfetto per le mie esigenze.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  7. #7
    Ho provato a modificare lo script in questo modo ma nulla, mi carica il file ma non cancella quello sul server.

    codice:
    <%
    Dim form, FileName_file1
    %>
    <%
    If Request.QueryString("Save")="1" then
    		Dim oUpload
    		Set oUpload = new cUpload
    		oUpload.AutoRename = True
    		oUpload.Overwrite = False
    		oUpload.SetPath "opere" 'Impostazione del percorso
    		oUpload.Load
    		While Not oUpload.EOF
    			oUpload.Save()
    			Select Case lCase(oUpload.Files("InputName"))
    				Case "file1"
    					FileName_file1 = oUpload.GetFileName()
    			End Select
    			oUpload.MoveNext
    			Wend
    Dim fs 
    Set fs=Server.CreateObject("Scripting.FileSystemObject") 
    If rsCaricamento.EOF Then
    Response.write ("")
    else
    immagine = Server.MapPath("opere\" & rsCaricamento.Fields.Item("titoloBibliografiaComparata").Value)
    end if
    if fs.FileExists(immagine) then
      fs.DeleteFile (immagine)
    end if
    set fs=nothing
    			
    			end if
    			
    %>
    Voi che ne pensate?
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  8. #8
    Ho fatto altri tentativi ma nulla.

    Il fatto è che non capisco perchè non mi cancella il file visto che cmq all'inizio il file è presente.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

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.