• Martes 14 de Mayo de 2024, 03:16

Autor Tema:  Descompresión Remota de un ZIP via Shell + ASP.NET  (Leído 966 veces)

lokoxtinena

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Descompresión Remota de un ZIP via Shell + ASP.NET
« en: Lunes 16 de Noviembre de 2009, 08:19 »
0
Hola buenas,
me interesaría un tema para desarrollar un proyecto ASP.NET que tengo pendiente que entremezcla varios conceptos y uno de ellos es el tema de la compresión con la librería ICSharpCode.SharpZipLib, que ya tengo solucionada y funciona a la perfección.

Y la descompresión,
que no realizo con esta librería sino que lo hago en remoto en un servidor de FTP, lugar donde publico el fichero ZIP e intento descomprimirlo con una petición cliente http por POST vía ASP.


Explico un poco la idea de mi necesidad de la descompresión aunque es bastante obvia pero por sea caso, os es de utilidad la información;
el caso es que tengo una aplicación que lo que hace es comprimir una serie de ficheros los cuales son publicados a través de un componente de subida vía FTP en formato fichero.ZIP, debido a esto y como es imposible en mi hosting(FTP) pedir que instalen ninguna aplicación ya que no es un host dedicado como me gustaría para mi, es un host compartido con varios clientes me veo obligado a usar recursos del sistema operativo que corre en el servidor.
Bien, en este punto es donde entra en juego mi duda sobre la descompresión. He estado leyendo y documentandome largo y tendido sobre el unzipping remoto y por lo que he llegado a ver sólo se puede Vía Shell de windows (si no es así os agradecería que me corrigierais), ya que poner dll's y instalar aplicaciones lo tengo totalmente prohibido por el ISP del HostFtp.

La descompresión la intento hacer con un fichero asp.net con código VB dentro que sorprendentemente para mi, funciona en local a la perfección y en remoto no!

Os pego el código de la ASP que hice de descompresión:
-- unzip.asp --
<%
Dim UnzipFolder, ZipFile
UnzipFolder=Server.MapPath("./")
ZipFile=Server.MapPath("./web.zip")
Set oApp = CreateObject("Shell.Application")
oApp.Namespace(UnzipFolder).CopyHere oApp.Namespace(ZipFile).Items
%>



Como podeis ver es un código muy sencillo. y funciona cuando se lanza en local pero en el momento que la ejecución del mismo se produce en las condiciones para las que es requerido no devuelve más que errores del estilo:

Error(5xx) - Error en el servidor Remoto.


¿Se os ocurre porque motivo puede estar ocurriendo esto?

Gracias!