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

    Cancellazione file dopo utilizzo

    Ho questa situazione:

    - L'utente seleziona dei dati da una tabella.
    - Questi dati vengono scritti su di un file di testo sul server.
    - Viene visualizzato un link in modo che l'utente possa fare il download del file appena creato.

    A questo punto il file che è sul server non ha più motivo di esistere.
    Come posso fare per cancellarlo dopo che il download ha avuto esito positivo?
    Io nella vita ho visto cose che voi astemi neanche potete immaginare.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Se utilizzi lo script di "download forzato", come ultima riga puoi mettere la cancellazione del file tramite FSO.

    Roby

  3. #3
    in questo caso vado ad obbligare il download.
    E' anche vero che se rinuncia al download mi rimane il file sul groppone.

    Potrei creare una tabella che mi cancella il file 24 ore dopo la creazione.
    Questa routine potrei metterla in quella di creazione e, quindi, prima di creare un file vede se c'è qualcosa da cancellare.

    che ne dici?
    Io nella vita ho visto cose che voi astemi neanche potete immaginare.

  4. #4

  5. #5
    Risolto!
    Forzo il download e poi cancello subito. Tutto nello stesso file .asp

    <%@ Language=VBScript %>
    <%
    NomeFile=Request.Querystring("file")

    function getBinaryFile(fileSpec)
    Dim adTypeBinary
    adTypeBinary = 1
    Dim oStream
    set oStream = server.createobject("ADODB.Stream")
    oStream.Open
    oStream.Type = adTypeBinary
    oStream.LoadFromFile fileSpec
    getBinaryFile= oStream.read
    set oStream=nothing
    end function

    response.contenttype="application/x-unknown"
    response.addheader "Content-Disposition","attachment; filename=" & chr(34) & NomeFile & chr(34)
    response.binarywrite getBinaryFile(Server.MapPath("/public/tmp/" & NomeFile))
    %>



    <%
    'CANCELLA IL FILE
    Dim fso
    set fso=Server.CreateObject("Scripting.FileSystemObjec t")
    Dim file
    file=Server.MapPath("/public/tmp/" & NomeFile)
    if (fso.fileExists(file)) then
    fso.DeleteFile(file)
    end if
    %>
    Io nella vita ho visto cose che voi astemi neanche potete immaginare.

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