none
Como conocer la extencion de un archivo que esta en byte() RRS feed

  • Pregunta

  • En la base de datos tengo guardado el archivo, al extraerlo lo hago por medio de un arreglo de bytes, pero necesito conocer el nombre y  extencion  de este archivo, ya que en este campo se puede guardar cualquier tipo de archivo, porfavor necesito ayuda para conocer el nombre y extencion...

    Atte. Alexander Castillo

    miércoles, 6 de junio de 2012 21:52

Todas las respuestas

  • No puede saberse.  Esa información debió almacenarse cuando se almacenó la representación binaria del archvio.

    O mejor dicho:  Tendría usted que tener conocimientos de todos los posibles tipos de archivo para poder adivinar qué tipo de archivo es.


    Jose R. MCP

    jueves, 7 de junio de 2012 11:17
    Moderador
  • Hola Alexander.

    Desde el array de byte no es posible conocer esto.

    Como mucho, te diría que pasaras el array de byte a un Stream y ver qué puedes sacar de ahí. No obstante, el tipo del fichero deberías obtenerlo "antes" de crear el array de bytes y almacenarlo de alguna forma.

     

    (te pongo un ejempo en c# aunque creo que usas vb)

    public static byte[] ReadFile(string filePath)
    {
      byte[] buffer;
      FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
      try
      {
        int length = (int)fileStream.Length;  // get file length
        buffer = new byte[length];            // create buffer
        int count;                            // actual number of bytes read
        int sum = 0;                          // total number of bytes read
    
        // read until Read method returns 0 (end of the stream has been reached)
        while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
          sum += count;  // sum is a buffer offset for next reading
      }
      finally
      {
        fileStream.Close();
      }
      return buffer;
    }

    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"

    jueves, 7 de junio de 2012 13:51
  • Les agradesco por  su colaboración, entonces almenos debo guardar en la base de datos la extencion del archivo que esta guardado, por lo tanto debere agregar un campo mas.


    Atte. Alexander Castillo

    jueves, 7 de junio de 2012 14:50
  • Hola de nuevo Alexander.

    Efectivamente, esa sería la aproximación que haría yo.

    En el momento de guardarlo en la base de datos, almacena también las propiedades que te sean necesarias, extensión, tipo, tamaño,...


    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"

    jueves, 7 de junio de 2012 15:03