Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [asp.net]..processo...

  1. #1

    [asp.net]..processo...

    Ciao, ho un problemino che nn riesco a risolvere:

    Ho creato una funzione che mi fa il crop di una immagine, questa funzione la utilizzo in una pagina aspx in cui faccio l'upload e devo fare poi il crop di qst img. Le operazioni che eseguo sono:

    1.Faccio l'upload della immagine e la salvo in un file temporaneo con il nome tmp.jpg;
    2.Passo il percorso dell'immagine alla funzione per il crop;
    3.La funzione mi restituisce un oggetto Image e quindi salvo l'immagine croppata con un'altro nome;
    4.Cancello il file tmp.jpg;

    Il problema si presenta al punto 4, mi da questo errore:
    "Il processo non può accedere al file 'tmp.jpg' perchè è in uso da un altro processo".

    Come faccio a cancellare il file temporaneo?

  2. #2
    Il problema sicuramente è nel fatto che l'oggetto Image dove croppi non rilascia l'utilizzo del file.
    Assicurati che venga richiamato il metodo Dispose alla fine del crop.

    Fammi sapere

  3. #3
    ...devo richiamarlo sull'oggetto Image il metodo Dispose?

  4. #4
    Si, cioé.. tu per croppare l'immagine sicuramente apri un'oggetto Image con il percorso del file temporaneo, giusto?
    Bene, dopo che hai croppato gli dai un bel Dispose e lui rilascia tutte le risorse x quell'oggetto (ed anche il file).
    Prova e fammi sapere.

    (dovrei vedere il tuo codice per aiutarti meglio.. sto andando un pò all' "inzecca")


  5. #5
    Ho provato ma nn funziona, ti passo un po il codice:

    dim fileTmp as String = ""
    dim fileImg as String = ""
    fileTmp = "tmp.jpg"
    tbImg.PostedFile.SaveAs (server.mappath(pathImg & fileTmp))
    'CROPPO L'IMG A 240x80
    dim img as Bitmap = Bitmap.FromFile(server.mappath(pathImg & fileTmp))
    img = editImg.Crop(img, 0, 0, 240, 80)
    fileImg = editFile.CreaNomeFile(server.mappath(pathImg), fileTmp)
    img.Save(server.mappath(pathImg & fileImg))
    img.Dispose()
    'CANCELLO IL FILE TEMPORANEO
    File.Delete(server.mappath(pathImg & fileTmp))


    Questo è con la chiamata al metodo Dispose, ma nn funziona lo stesso...

  6. #6
    ...ho risolto...passo all'oggetto bitmap non più il file dopo l'upload ma gli passo uno stream, croppo l'img e poi salvo così nn devo proprio cancellare l'img tmp...grazie 1000 cmq....nn so come mai nn ci ho pensato prima...

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.