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

    Cancellare files alla chiusura della sessione

    Salve, devo risolvere questo problema:

    In una pagina viene fatto upload di un file, di questo file viene mostrata la preview una volta caricato sul filesystem.
    Se l'utente conferma la preview ok ma se l'utente non conferma o ricarica un altro file, quello precedente naturalmente va cancellato.
    Il problema è questo: se scade la sessione.
    Alla chiusura della sessione non si possono cancellare files
    perciò ho pensato di fare così:
    al login apro la cartella di upload,mi prendo la lista dei files e quelli che sono + vecchi della durata della sessione vengono cancellati.
    Ho provato anche a far salvare il contenuto del file (tipicamente img di pochi kb) in sessione in modo da distruggerlo automaticamente alla chiusura, ma non riesco a salvarlo in modo corretto dalla sessione al filesystem nel caso di conferma preview.


    Voi che fareste?

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ciao, di che sessione parli?

    Roby

  3. #3
    parlo della sessione che viene creata dopo il login...avevo scordato di dirlo

  4. #4
    Per la cronaca ho risolto, spiego come ho fatto in modo che se servisse a qualcuno....

    Il problema era:
    in uno script per le news dovevo mostrare la preview dell'immagine caricata senza salvare il file sul server, perchè se nel frattempo scadeva la sessione non sapevo più come cancellare sto file.
    Per l'upload ho usato la classe di Baol74, quindi:

    faccio upload del file ma non lo salvo, bensi lo metto in un buffer

    codice:
    Set upload = new cUpload
    upload.Upload()
    
    Set session("file") = Server.CreateObject("ADODB.Stream")
    session("file").Type = 1
    session("file").Open
    session("file").Write upload.GetContent()
    
    'metto in sessione il nome del file
    session("FileUpload") = upload.Form("upload")
    Per vedere l'anteprima dell'immagine, l'src lo faccio puntare aquesto script, che recupera tramite l'estensione del file il content-type relativo

    codice:
    arrExtension = Array(".gif",".jpg",".jpeg",".bmp",".png")
    arrContentType = Array("image/gif","image/jpg","image/jpg","image/bmp","image/png")	
    For intContatore = 0 to Ubound(arrExtension)
    if Right(session("FileUpload"),Len(arrExtension(intContatore)))= arrExtension(intContatore) then 
      'controllo estensione file
       Response.ContentType = arrContentType(intContatore)
      Exit For	
    End if
    Next
    session("Stream").position = 0
    Response.BinaryWrite(session("Stream").Read)
    In questo modo non ho problemi per la cancellazione del file sul server e lo posso salvare su file tramite

    codice:
    session("Stream").position = 0
    session("Stream").saveToFile strNomefile,1

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.