Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/03/2010, 11:04
Avatar de AWesker
AWesker
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Guardar archivo sin FileUpLoad

Puedes hacerlo de la siguiente forma (este ejemplo funciona con una carpeta que debe estar en la raíz del proyecto o solución):

Código:
 
string Ruta = Server.MapPath("~/Archivos/"); //Almacenará el archivo en una Carpeta llamada Archivos
//FU_Archivo = nombre del FileUpload
//Lbl_Error = Label para mostrar el mensaje de error
string NombreArchivo = FU_Archivo.FileName; //Obtenemos el nombre del archivo
string RutaARevisar = Ruta + NombreArchivo;
if (System.IO.File.Exists(RutaARevisar))//Verificamos que exista por seguridad
{
        int Contador = 2; //Variable para cambiar el nombre el caso que exista
        while (System.IO.File.Exists(RutaARevisar)) //Lazo que se ejecuta mientras exista un archivo con un nombre igual 
        {
              NombreArchivoTemp = Contador.ToString() + NombreArchivo; //Nombre que se le da de forma temporal
              RutaARevisar = Ruta + NombreArchivoTemp; //Asignamos la ruta completa concatenado con el nombre
              Contador++;
        }
              Lbl_Error.Text = "Ya existe el archivo. Se guardó con el nombre " +  NombreArchivo;
              FU_Archivo.SaveAs(RutaARevisar);
}
Es un ejemplo que puede ser optimizado, pero lo escribí así para que tengas más claro el proceso que se emplea. Ojalá te sirva, esta escrito en C#. No lo he probado, pero creo que funciona. Si no es así, avisame si hay algún error.

Una cosa más... deberías probar el evento OnChange porque creo que solo funciona con Internet Explorer.

Saludos...