Comment puis-je obtenir le chemin absolu d'un répertoire (pas le répertoire de travail courant) dans l'application nœud webkit? Exemple (Mac OS) - J'ai créé un dossier nommé A
dans Documents
. Quand je fais getDirectory
avec entrée dans le répertoire du système de fichiers, je ne peux obtenir dir.fullPath
qui retourne A
Obtenir le chemin complet d'un répertoire dans le nœud webkit
app.workspace.getDirectory(self.folderpath, {}, function(dir){
if(dir) console.log('Dir: ', dir);
});
Mais je dois: ~/Documents/A/
|| c:\Users\Username\Documents
Dans mon application, les utilisateurs peuvent choisir/créer un répertoire où ils veulent et je stocke/lis les données de ce dossier.
Chemin absolu peut ne pas être ce que je dois mais je veux ouvrir les fichiers (PDF, doc ...) avec des applications de bureau par défaut:
function getCommandLine() {
switch (process.platform) {
case 'darwin' : return 'open';
case 'win32' : return 'start';
case 'win64' : return 'start';
default : return 'xdg-open';
}
}
var exec = require('child_process').exec;
var filepath = '...';
//dir.fullPath will throw: The file /A/example.pdf does not exist.
var child = exec(getCommandLine() + ' ' + filepath, function (error, stdout, stderr) {
if (error) {
console.error(`exec error: ${error}`);
return;
}
});
child.on('close', function (e) {
console.log('E: ', e);
});
Vous ne l'avez pas compris :) Le répertoire du script et le dossier auquel je veux accéder sont séparés. Les deux peuvent être n'importe où.Le script est évidemment exécuté à partir du paquet de l'application qui devrait idéalement être dans le dossier Applications où l'autre répertoire est un libre choix. Un utilisateur peut choisir n'importe quel dossier n'importe où sur leur machine. Ce que je veux vraiment faire est d'ouvrir des documents avec les applications par défaut de l'utilisateur, j'ai trouvé une façon de le faire avec exec mais le script shell s'exécute à partir de la racine ... –
Ok désolé. Et vous ne pouvez pas stocker le dossier choisi par l'utilisateur quelque part je suppose. – filippo
Ce n'est pas l'URL complète: il s'agit d'un sandbox. J'ai créé mon dossier dans mon '~/Documents/MyFolder'. Je peux seulement retourner'/Myfolder' –