Dan Lee wrote: > Does anyone know of a way to get the timestamp for a remote file? > > For our project ReminderFox we have code to download/upload a calendar > file via FTP or WebDAV. We would like to do this automatically and be > smart about it -- that is, only have to download the remote calendar > file if it actually differs from the file on the local system. I thought > the best way would be to check the timestamp of the remote file, but I > am not sure how this can be done. > For downloading the file, I was utilizing code of this sort: > > var ioService = > Components.classes["@ > mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService)<http://mozilla.org/network/io-service;1%22%5D.getService%28Components.interfaces.nsIIOService%29> > ; > this.streamLoader=Components.classes["@ > mozilla.org/network/stream-loader;1"].createInstance(Components.interfaces.nsIStreamLoader)<http://mozilla.org/network/stream-loader;1%22%5D.createInstance%28Components.interfaces.nsIStreamLoader%29> > ; > this._channel = ioService.newChannelFromURI( aURI ); > if(aURI.scheme=="http" || aURI.scheme=="https") > this._channel.loadFlags |= > Components.interfaces.nsIRequest.LOAD_BYPASS_CACHE; > this.streamLoader.init(this._channel, this , null); > > Since it's just dealing with streams, I am not sure if there's any way > to get the timestamp of the file that the stream was created from. Has > anyone done anything similar or having any ideas of how I could do this?
I don't know precisely how you want to do this, but you have to be quite careful if want to work based on timestamps of a remote server. The remote server might have a different system time than your local PC (e.g. wrong time). Depending on the implementation, this could lead to a situation where you would not notice that file was updated. -Patrick _______________________________________________ Project_owners mailing list [email protected] http://mozdev.org/mailman/listinfo/project_owners
