Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 41
  1. #1

    Upload file - Eliminare un file

    Ciao a tutti,

    dopo circa un milione di ricerche on-line per trovare e/o studiare uno script Asp con Db in MySql, ho ceduto per un semplice upload connesso ad un Db Access.

    Lo script funziona, con dei limiti, ma soddisfa in minima parte la mia esigenza.

    Ora mi sono trovato dinanzi ad un muro, non riesco a capire come fare ad eliminare un file caricato.



    Stò impazzendo

    Preciso che sono un pò scarsino in materia!!



    Posto lo script, magari sapete darmi un saggio consiglio.



    Grazie 1000



    <form enctype="multipart/form-data" method="post" action="upload.asp" name="form">
    <table width="80%" cellpadding="3" cellspacing="3" border="1" bordercolor="#C0C0C0">
    <tr>
    <td align="center">NOME:</td>
    <td align="center"><input name="titolo_file" type="text" id="titolo_file" size="30" /></td>
    <td align="center">ALLEGATO:</td>
    <td align="center"><input type="file" name="nome_file" size="20" /></td>
    <td align="center"><input type="submit" value="Carica File" /></td>
    </tr>
    </table>

    </form>
    <%
    ' //// connessione al DB
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "PROVIDER=MSDASQL;" & _
    "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
    "DBQ=" & server.mappath("/mdb-database/database.mdb")

    ' //// seleziono la tabella per stampare a video i link ai file caricati e ordino i risultati ID decrescente
    Sql = "Select * from UPLOAD order by ID Desc ;"
    Set Rs = Conn.Execute(Sql)

    ' //// se la tabella è vuota stampo a video un messaggio e chiudo il records set
    If Rs.Eof OR Rs.Bof Then

    Response.Write("<center><font color='red'>Non ci sono file caricati sul server.</font></center>")

    Rs.Close
    Set Rs = Nothing

    ' //// se la tabella non è vuota
    Else
    %>

    <table cellspacing="3" cellpadding="3" width="80%" border="1" bordercolor="#C0C0C0">
    <tr>
    <td bgcolor="#C0C0C0">DATA</td>
    <td bgcolor="#C0C0C0">FILE</td>
    </tr>
    <%
    ' //// effettuo un ciclo sulla tabella per stampare a video tutti i records
    While Not Rs.Eof
    %>
    <tr>
    <td><%=Rs.Fields("data")%></td>
    <td>"><%=Rs.Fields("titolo_file")%></td>
    <%
    ' //// vado avanti con il ciclo
    Rs.MoveNext
    Wend

    ' //// chiudo il records set e libero risorse
    Rs.Close
    Set Rs = Nothing
    %>
    </tr>
    </table>

    <% End If %>
    Leftist

  2. #2
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Cerca sul forum per File System Object

  3. #3
    Originariamente inviato da Mizushi
    Cerca sul forum per File System Object
    Ciao Mizushi,
    grazie per il link, utilissimo.

    Ora però non riesco a comprendere un passaggio fondamentale: come cancellare il file caricato nella cartella public (di Aruba).
    Ovvero, ora riesco ad eliminare il record dal DB, ma non riesco ad eliminare anche il file.
    Rischio di vedere tre record ma in realtà nella cartella public ci sono 100 file!!

    Posto lo script, magari sai darmi un consiglio dove sbaglio.

    Grazie 1000:

    <%
    ' //// connessione al DB
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "PROVIDER=MSDASQL;" & _
    "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
    "DBQ=" & server.mappath("/mdb-database/database.mdb")
    %>
    <%
    id = request.querystring("id")

    Sql = "DELETE FROM UPLOAD WHERE id="&id&""
    Set Rs = Conn.Execute(Sql)
    conn.close
    progressivo=Trim(Request("progressivo"))
    Response.Write("Hai cancellato il record!" )
    %>
    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("/public/")
    %>
    Leftist

  4. #4
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    codice:
    <% 
    
    set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("/public/")
    
    %>
    Scusa tanto ma pretendi di cancellare un file senza averne specificato il nome ???

    Salvi il nome del file nel db ???

  5. #5
    Originariamente inviato da Mizushi
    codice:
    <% 
    
    set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("/public/")
    
    %>
    Scusa tanto ma pretendi di cancellare un file senza averne specificato il nome ???

    Salvi il nome del file nel db ???
    Hai perfettamente ragione:
    fs.DeleteFile(server.mappath("public\" & nome_file))

    ma comunque non dà risultati, anzi mi dà pure errore interno del server, benchè il record lo cancella comunque, ovviamente no il file.

    Ora provo a spiegarmi meglio (sono scarsino in ASP) -
    Pagina index.asp
    Piccolo form con 2 campi:
    1) titolo_file [campo di testo]
    2) nome_file [campo file]
    Carica file
    Pagina upload.asp

    - dichiarazione variabili
    - componenti upload
    - riempimento variabili
    titolo_file = UploadRequest.Item("titolo_file").Item("Value")
    nome_file = UploadRequest.Item("nome_file").Item("Value")
    - connessione al db
    - etc. etc.

    Nella stessa pagina index.asp vedo il risultato in una tabella, con data, nome e titolo del file

    A questa tabella ho aggiunto un link per eliminare il file:
    ">[img]immagini/elimina.gif[/img]

    cancella.asp ha lo script che ho postato prima.
    Leftist

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Quale errore ti da?
    Chiudi l'oggetto fs dopo averlo usato.

    Roby

  7. #7
    Originariamente inviato da Roby_72
    Quale errore ti da?
    Chiudi l'oggetto fs dopo averlo usato.

    Roby
    Non specifica nessun errore, mi dà solo impossibile visualizzare la pagina.
    Chiudere l'oggetto fs??
    Leftist

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Disabilita gli errori HTTP brevi dal menu strumenti, opzioni internet, avanzate di IE.

    Roby

  9. #9
    Originariamente inviato da Roby_72
    Disabilita gli errori HTTP brevi dal menu strumenti, opzioni internet, avanzate di IE.

    Roby
    la voce è selezionata, non mostra errori
    Leftist

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Infatti ho detto disabilita quindi togli la spunta!

    Roby

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.