Yo uso un control FileUploader en mi aplicación. Quiero guardar un archivo en una carpeta especificada. Ahora quiero, si esta carpeta no existe, crearla primero y luego guardar mi archivo en esta carpeta. Si la carpeta ya existe, simplemente guarde el archivo en ella.
¿Como puedo hacer esto?
Respuestas:
Como otros han dicho, use
System.IO.Directory.CreateDirectory
Pero, no es necesario verificar si existe primero. De los documentos
fuente
Utilice el siguiente código según http://forums.asp.net/p/1226236/2209871.aspx :
fuente
FileExists
excepción (o lo que sea el equivalente de C #) en caso de que la función esté diseñada para lanzar uno.Exists
y realmente crea una nueva condición de falla.System.IO.Directory.CreateDirectory
. (Y es más rápido, pero probablemente eso no importa)Solo escribe esta línea:
Referencia: artículo sobre Directory.CreateDirectory en MSDN
Por supuesto, también puede escribir
using System.IO;
en la parte superior del archivo fuente y luego simplemente escribirDirectory.CreateDirectory("my folder");
cada vez que desee crear una carpeta.fuente
Directory.CreateDirectory
Explica cómo probar y crear FilePath si no existeDirectory.Exists
Explica cómo verificar si existe un FilePath. Sin embargo, no necesita esto ya que CreateDirectory lo comprobará por usted.fuente
Puede crear la ruta si aún no existe con un método como el siguiente:
fuente
if (!folderExists)
no es necesario.FileExists
excepción (o como se llame en C #)Este método creará una carpeta si no existe y no hará nada si existe
fuente
Puede usar una cláusula try / catch y verificar si existe:
fuente
fuente
fuente
El siguiente código es la mejor línea (s) de código que uso que creará el directorio si no está presente.
Si el directorio ya existe, este método no crea un nuevo directorio, pero devuelve un objeto DirectoryInfo para el directorio existente. >
fuente
Crear nueva carpeta, dada la ruta de una carpeta principal:
fuente
Use el siguiente código. Usé este código para copiar archivos y crear una nueva carpeta.
fuente
fuente
Use este código si la carpeta no se presenta en la carpeta de imágenes u otras carpetas
fuente
Una forma elegante es extender el
FileUpload
el método con el que desea.Agrega esto:
Entonces úsalo:
fuente
CreateDirectory también se utiliza para crear un subdirectorio. Todo lo que tiene que hacer es especificar la ruta del directorio en el que se creará este subdirectorio. El siguiente fragmento de código crea un subdirectorio Mahesh en
C:\Temp directory
.fuente
Derivado / combinado de múltiples respuestas, implementarlo para mí fue tan fácil como esto:
fuente