2011-05-07 13 views
5

¿Cómo puedo crear una carpeta que haga cosas? Seguramente Dropbox sabe cuando un archivo se coloca en la carpeta y ese archivo se sincroniza. ¿Cómo puedo hacer una carpeta que haga lo mismo, y que los archivos que pongo vayan a mi ftp?Crear una carpeta como Dropbox que se conecta con una ubicación remota

Estoy tratando de hacer esto en una Mac (seguramente, Dropbox funciona bien en una Mac).

+0

¿Estás diciendo que quieres hacer lo mismo que Dropbox en una Mac a pesar de que funciona bien en una Mac o estás diciendo que quieres saber cómo se hizo en la Mac? – IAmTimCorey

+0

Quiero saber cómo se hace en una Mac. – CodeGuy

Respuesta

1

Creo que lo que está buscando es una forma de controlar cuándo se cambian los archivos. Luego, simplemente puede cargar el archivo modificado a través de FTP como lo mencionó. Si este es el caso, la respuesta es vincularse a los eventos Carpeta y Archivo de Windows. Aquí es un buen artículo sobre cómo hacerlo:

http://www.codeproject.com/KB/files/MonitorFolderActivity.aspx

El código necesario para FTP un archivo se puede encontrar aquí:

http://msdn.microsoft.com/en-us/library/ms229715.aspx

Todo esto es suponiendo que se va a estar usando C#. Si vas a utilizar un idioma diferente, necesitarás realizar las mismas acciones básicas de la misma manera básica, pero la sintaxis será diferente.

Para empezar, esto es todo lo que necesita. Miras la carpeta para ver los cambios en cualquiera de los archivos. Cuando vea un cambio, cargue el archivo modificado a través de FTP (si ese es su método de transporte web deseado) a la ubicación remota. Por supuesto, necesitaría hacer lo opuesto para otros clientes. Tendrían que suscribirse a eventos en su servidor que les indicaban que descarguen las últimas versiones de los archivos modificados. Finalmente, necesitaría aplicar su propia lógica comercial para cosas como la frecuencia con la que desea que las cargas sucedan, si desea que el registro esté habilitado para los cambios, si va a hacer versiones de archivos, etc.

+0

pero estoy en una Mac ... quiero decir que Dropbox funciona bien en mi Mac. ¿Cómo se hace? – CodeGuy

+0

Creo que Dropbox se escribió en PyObjC (http://pyobjc.sourceforge.net/). Sigue los mismos principios básicos que describí anteriormente. – IAmTimCorey

0

Una solución (Windows only + .NET) sería ejecutar un cliente y monitorear una carpeta con FileSystemWatcher y cuando el evento de cambio se dispare, realice la acción apropiada requerida para sincronizar con FTP.

Cuestiones relacionadas