none
Eliminar archivo subido en control fileupload. RRS feed

  • Pregunta

  •  Hola buenas, les comento tengo un control fileupload mediante el cual subo un archivo a mi servidor, realizo una serie de comprobaciones en el fichero y si este no cumple con unos requisitos tengo que borrarlo, pero me dice que el fichero esta siendo utilizado en otro proceso.


    Asi subo el fichero:

    ArchivoCSV.PostedFile.SaveAs(rutaAux & nombre & fileExtensionCSV)

    ArchivoCSV.dispose()

    y asi lo elimino:

      Kill("rutaAux & nombre & fileExtensionCSV")

    Gracias.

    miércoles, 14 de octubre de 2015 7:17

Respuestas

Todas las respuestas

  • hola

    el tema es que el proceso que graba el archivo no se destruye de forma correcta por eso queda lockeadno el archivo

    deberias revisar el codigo que usas para generar el csv y asegurarte que las clases que usas para generarlo se definen dentro del un bloque using

    Nota: no se usa el Kill para eliminar el archivo, se usa el File.Delete()

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Adm1990 miércoles, 14 de octubre de 2015 14:21
    miércoles, 14 de octubre de 2015 12:12
  • Sabes tenia un problema parecido en un proyecto que desarrolle hace mucho, no recuerdo como lo solucione pero me dieron ideas:

    https://social.msdn.microsoft.com/Forums/es-ES/0ea2b769-c7cb-4877-b6b1-6e9ddfbcaec4/problema-con-eliminacin-de-archivo?forum=netfxwebes

    Espero que te sirva.


    Roy Sillerico

    • Marcado como respuesta Adm1990 miércoles, 14 de octubre de 2015 14:21
    miércoles, 14 de octubre de 2015 13:22
  • Otra opción es que primero lo subas a un directorio X, lo verificas y si cumple le copies al directorio que corresponde, caso contrario lo dejas en ese temporal. Los archivos que queden en el temporal serán los que no cumplieron el requisito, y los puedes eliminar en la siguiente que cargues un archivo:

    • Cargo el archivo1 a temp, cumple, lo llevo al directorio adecuado.
    • Cargo el archivo2 a temp, no cumple, lo dejas en temp.
    • Cargo el archivo3 a temp, .....

    La clave es que antes de cargar el archivo en temp, vacíes este directorio, así evitaras que con el tiempo se te llene.

    Bueno es una idea que utilice en algún momento y me funciono.


    Roy Sillerico

    • Marcado como respuesta Adm1990 miércoles, 14 de octubre de 2015 14:20
    • Desmarcado como respuesta Adm1990 miércoles, 14 de octubre de 2015 14:21
    miércoles, 14 de octubre de 2015 13:28
  • Perfecto, muchas gracias a todos por las respuestas.

    Roy, no podria hacer eso ya que tampoco me deja eliminarlos si no hay un redirect.


    • Editado Adm1990 miércoles, 14 de octubre de 2015 14:23
    miércoles, 14 de octubre de 2015 14:20