• Super User

    Devi usare il codice sopra, in questo modo:

    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("pathdelfile")) %>


  • User Attivo

    @cali1981 said:

    Devi usare il codice sopra, in questo modo:

    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("pathdelfile")) %>

    No sono ottuso o forse fuso, scusatemi.

    Creo la teballa che mi visualizza ciò che ho creato:
    <%
    ' //// 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
    %>
    <div align="center">
    <table cellspacing="3" cellpadding="3" width="80%" border="1" bordercolor="#C0C0C0">
    <tr>
    <td bgcolor="#C0C0C0" width="30%"><b>DATA</b></td>
    <td bgcolor="#C0C0C0" width="30%"> </td>
    <td bgcolor="#C0C0C0" width="30%"><b>FILE</b></td>
    </tr>
    <%
    ' //// effettuo un ciclo sulla tabella per stampare a video tutti i records
    While Not Rs.Eof
    %>
    <tr>
    <td width="30%"><%=Rs.Fields("data")%></td>
    <td width="30%">

            </td>
    

    <td width="30%">
    <a target="_blank" href="/public/<%=Rs.Fields("nome_file")%>"><%=Rs.Fields("titolo_file")%></a></td>
    <%
    ' //// vado avanti con il ciclo
    Rs.MoveNext
    Wend
    ' //// chiudo il records set e libero risorse
    Rs.Close
    Set Rs = Nothing
    %>
    </tr>
    </table>
    </div>
    <% End If %>

    Se io inserisco lo script:
    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("pathdelfile")) %>

    Mi dà errore come se il file non fosse trovato: error '800a0035'

    Ti e vi chiedo ancora scusa ma sono davvero stanchissimo.
    Grazie


  • Super User

    Questo cancellerebbe già il file. Immagino che tu voglia mettere in quella tabella un link che faccia cancellare il file no? Quindi dovrai mettere un link verso una pagina, a cui passi un id, quindi ad esempio cancella_file.asp?id=1234, e in quella pagina prendi il valore di id, carichi il percorso del file da db, e se esiste lo cancelli con quello spezzono di codice che ho scritto sopra.


  • User Attivo

    error....e poi che ti scrive?? lo scrivi l'errore completo??


  • User Attivo

    @cali1981 said:

    Questo cancellerebbe già il file. Immagino che tu voglia mettere in quella tabella un link che faccia cancellare il file no? Quindi dovrai mettere un link verso una pagina, a cui passi un id, quindi ad esempio cancella_file.asp?id=1234, e in quella pagina prendi il valore di id, carichi il percorso del file da db, e se esiste lo cancelli con quello spezzono di codice che ho scritto sopra.
    Allora sono ottuso 😮 😞

    Nella pagina dove visualizzo i file caricati inserisco il link con la banale immagine di elimina:
    <a href="cancella.asp?id=<%=rs.fields("id")%>"><img src="immagini/elimina.gif" width="16" height="16" border="0" /></a>

    Nalla pagina cancella.asp:
    <%
    ' //// 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)
    %>
    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("pathdelfile")) %>

    Risultato: impossibile visualizzare la pagina: errore interno nel server.

    Per La Maglia Rosanero: File not found


  • User Attivo

    [quote=leftist1973;481674]

    Cosi mi funziona, ovvero cancella i record (non anche i file caricati - meglio di nulla) ma ora non capisco perchè la pagina cancella.asp che contiene lo script indicato in basso mi posta "impossibile visualizzare la pagina"
    :bho:

    <%
    id = request.querystring("id")
    ' //// 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 = "DELETE FROM UPLOAD WHERE id="&id&""
    Set Rs = Conn.Execute(Sql)
    %>
    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("pathdelfile")) %>


  • Super User

    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("pathdelfile")) %>

    ovviamente pathdelfile non va bene qui dentro, devi metterci il path del file, non la scritta path del file


  • User Attivo

    @cali1981 said:

    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("pathdelfile")) %>

    ovviamente pathdelfile non va bene qui dentro, devi metterci il path del file, non la scritta path del file

    Almeno questo si, ovviamente ho copiato e incollatoprima di aver fatto tutte le modifiche:
    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("/mdb-database/database.mdb"))
    %>

    Funge tutto, tranne che la pagina risulta ancora con errore interno del server, non mi dà altri errori ne righe.


  • Super User

    Prova a vedere pezzo per pezzo caso da errore. All'inizio fatti visualizzare solo l'id poi vai avanti e vedi quando si ferma


  • User Attivo

    @cali1981 said:

    Prova a vedere pezzo per pezzo caso da errore. All'inizio fatti visualizzare solo l'id poi vai avanti e vedi quando si ferma

    Grazie Cali, sei stato davvero gentilissimo :quote:

    Ora funziona tutto, anche se non riesco ad eliminare il file salvato nella cartella pubilc (Aruba)

    posto lo script magari se ancora mi sopporti puoi darmi un ultimissimo consiglio.
    In caso contrario ancora grazie, ti sono debitore.
    <%

    ' //// 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")

    ' //// seleziono la tabella per stampare a video i link ai file caricati e ordino i risultati ID decrescente
    Sql = "DELETE FROM UPLOAD WHERE id="&id&""
    Set Rs = Conn.Execute(Sql)
    conn.close

    progressivo=Trim(Request("progressivo"))
    Response.Write("Hai cancellato la Comunicazione Interna Dealer!" )
    %>

    <% set fs = CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(server.mappath("/vetromile.it/public/"))
    %>

    Ciaoooo
    :ciauz:


  • Super User

    Se il codice è esattamente questo, l'errore sta su fs.DeleteFile(server.mappath("/vetromile.it/public/")), perchè oltre alla directory ci devi mettere anche il nome del file che vuoi cancellare, che immagino prenderai da db.


  • User Attivo

    @cali1981 said:

    Se il codice è esattamente questo, l'errore sta su fs.DeleteFile(server.mappath("/vetromile.it/public/")), perchè oltre alla directory ci devi mettere anche il nome del file che vuoi cancellare, che immagino prenderai da db.

    Ciao Cali,
    sono riuscito a seguire tutti i tuoi consigli, ma questo non l'ho capito.

    Cioè non capisco come.
    Il campo nel db si chiama nome_file.

    Ho provato varie soluzioni ma il risultato è sempre lo stesso: il nulla :bho::bho:


  • Super User

    fs.DeleteFile(server.mappath("/vetromile.it/public/" & Rs.Fields("nome_file")))


  • User Attivo

    @cali1981 said:

    fs.DeleteFile(server.mappath("/vetromile.it/public/" & Rs.Fields("nome_file")))

    Ciao Cali, ancora grazie per la pasienza.

    Avevo già provato cosi, ma dà errore pagina (impossibile visualizzare la pagina) e comunque non cancella il file caricato, mentre l'ID si :(:(

    ❌x


  • Super User

    vedi se il file "/vetromile.it/public/" & Rs.Fields("nome_file") esiste sul serio


  • User Attivo

    @cali1981 said:

    vedi se il file "/vetromile.it/public/" & Rs.Fields("nome_file") esiste sul serio

    Esiste, ho provato anche cosi:
    fs.DeleteFile(server.mappath("/public/" & Rs.Fields("nome_file")))

    La pagina dove effettuo il caricamento ha due campi:

    1. titolo_file = dò un nome al file caricato
    2. nome_file = file da caricare

    Risultato:
    data - titolo_file - file

    :arrabbiato:


  • Super User

    Hai i diritti per cancellare il file? Sei su public quindi dovresti averli. Comunque io intendevo provare a vedere se il file esiste usando quel percorso, qualcosa del tipo

    if fs.FileExists (server.mappath("/public/" & Rs.Fields("nome_file"))) then Response.write("esiste")


  • User Attivo

    @cali1981 said:

    Hai i diritti per cancellare il file? Sei su public quindi dovresti averli. Comunque io intendevo provare a vedere se il file esiste usando quel percorso, qualcosa del tipo

    if fs.FileExists (server.mappath("/public/" & Rs.Fields("nome_file"))) then Response.write("esiste")

    Si ho i diritti per cancellare.
    Bhè, se uso la tua stringa mi esce impossibile visualizzare la pagina - record eliminato - il file resta

    Eppure il campo è nome_file, non capisco:bho:
    Adesso mi sono perso, ma non mollo è una questione di principio.

    Grazie per la pasienza


  • Super User

    il codice che ti ho dato io non penso vada bene, era solo in linea di principio. controllalo, e in caso fai come prima vedendo qual'è la riga che non va.


  • User Attivo

    @cali1981 said:

    il codice che ti ho dato io non penso vada bene, era solo in linea di principio. controllalo, e in caso fai come prima vedendo qual'è la riga che non va.
    E' la stringa fs che non và, eppure quelli sono i campi! 😢😢