2010-06-14 24 views
5

¡Saludos!ASP.NET FileUpload

Estoy usando el control ASP.NET FileUpload para permitir a los usuarios cargar archivos de texto en nuestro servidor web. Todo funciona muy bien en términos de guardar el archivo en el lugar que queríamos, etc., utilizando el método SaveAs() del control.

Pero nos tomó desprevenidos una advertencia aparentemente simple: se perdió la fecha y hora original del archivo cargado, como la fecha de la última modificación y la fecha de creación. La fecha de la última modificación y la fecha creada se convierten en la fecha y hora reales en que se guarda el archivo en el servidor.

Mi pregunta es: ¿hay alguna forma de conservar la marca de tiempo original configurando algunos atributos que aún no conozco o es posible leer los metadatos del archivo para obtener su marca de tiempo original?

Cualquier vista y sugerencias son muy apreciadas.

John

Respuesta

4

A menos que el formato de archivo que se ha subido a su vez contiene estos datos, entonces no.

Cuando un archivo se carga en un servidor web, los datos binarios para el archivo se envían al servidor, no el "archivo" como se representa en el sistema de archivos. No sabe, por ejemplo, que su archivo proviene de un sistema de archivos compatible; solo obtienes sus datos. Por lo tanto, los metadatos son inaccesibles.

+0

Gracias Martin por la respuesta rápida y definitiva. He aprendido desde mi publicación que la única forma de obtener esa información es a través de Silverlight, o javaapplet o activeX Control que pueden acceder al sistema de archivos del cliente. – John

+0

No hay problema; obviamente, estas soluciones vienen con la carga adicional de que su usuario tenga que otorgarle permiso al applet para acceder al sistema de archivos local, pero si realmente necesita los datos, ese es el camino a seguir. –

+0

Tienes toda la razón. Exactamente por el motivo que describió, decidimos no molestarnos con la marca de tiempo de un archivo cargado. Tenemos que vivir dentro de los límites. – John

Cuestiones relacionadas