Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# transformer un nsfile en nslocalfile

Envoyé par : Danny

Date : 06/02/2007 23:23

J'écris un bout de code pour manipuler des fichiers sélectionnés dans un tree à partir de la source de données rdf:files

le path du fichier obtenu est du type: file:///C|/Data/...

existe-il un xpcom permettant d'obtenir un nslocalfile? C:/Data/....

Ca fonctionne avec la méthode replace() mais s'il existe un composant dédié je suis preneur

# Re: transformer un nsfile en nslocalfile

Envoyé par : Raphael

Date : 07/02/2007 08:55

Je crois qu'il existe exactement le même sujet dans les 2 premières pages de ce forum =)

# Re: transformer un nsfile en nslocalfile

Envoyé par : chBok

Date : 07/02/2007 09:06

http://xulfr.org/forums/read.php?1,7345,(..) ici peut être ?

Je n'ai toutefois pas testé si l'application d'un <objet_nsIFile>.QueryInterface(Components.interfaces.nsILocalFile); sur l'objet nsIFile réalise la conversion souhaitée.

# Re: transformer un nsfile en nslocalfile

Envoyé par : Paul Rouget

Date : 07/02/2007 12:16

Normallement, un QueryInterface suffit.

# Re: transformer un nsfile en nslocalfile

Envoyé par : Danny

Date : 07/02/2007 16:06

je sèche là...mon code ne fonctionne pas...

const file = "file:///D|/Data/demo.txt";
file.QueryInterface(Components.interfaces.nsILocalFile);
file.launch();

j'ai du zapper quelquechose

la méthode GetFile présentée ici http://xulfr.org/forums/read.php?1,7345,(..) est une instance du FSO sous win si je ne me trompe pas. Comment on porte le code sur les autres plateformes dans ce cas?

# Re: transformer un nsfile en nslocalfile

Envoyé par : Paul Rouget

Date : 09/02/2007 12:30

mouarf ^^

Non, ça fonctionne comme ça:

var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("c:\\foobar.exe");
file.launch();

# Re: transformer un nsfile en nslocalfile

Envoyé par : Danny

Date : 09/02/2007 15:30

je mélange tout...mdr...me suis aperçu a posteriori de ma bourde lol

En fait j'ai une URL du type file:///C:/Data/demo.txt je cherche à obtenir un nslocalfile pour manipuler des fichiers comme avec la méthode launch()

1ère étape: récupérer un nsfile avec l'interface nsIFileProtocolHandler méthode getFileFromURLSpec 2ème étape: transformer mon nsIFile en URL système en utilisant nsIfile.path

il me reste plus qu'à tester mon code et à me mettre sérieusement à la manipulation des xpcom

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.