cancel
Showing results for 
Search instead for 
Did you mean: 

récupérer le Path d'un fichier (javascript)

vaquero
Champ in-the-making
Champ in-the-making
bonjour,

Je n'arrive pas trouver une fonction javascript sur le help qui permet de récupérer le Path d'un fichier :?

pourriez vous m'aider?

merci à vous
bonne journée
5 REPLIES 5

vaquero
Champ in-the-making
Champ in-the-making
existe t-il une fonction du type child.getPath()??!!!

nathservice
Champ in-the-making
Champ in-the-making
Vous trouverez toutes les infos dans l'API javascript :

http://wiki.alfresco.com/wiki/3.3_JavaScript_API

Il y a un certain nombre de différents "Path", mais je pense que vous voulez surtout : node.displayPath

Il serait sage, je pense, de ne pas créer plusieurs sujet pour une même question.  :wink:

vaquero
Champ in-the-making
Champ in-the-making
je vous fais voir mon code javascript affecter au dossier "A TRAITER":

var origine = companyhome.childByNamePath("A TRAITER");
var destination = companyhome.childByNamePath("RESERVE");

var i=0;
var fichier = origine.children;
var nombreDeFichier = fichier.length;
for(i=0;i<nombreDeFichier;i++)
{

if(fichier[i] != null)
{
var fichierEntrant=fichier[i];
var nomDuFichier=fichierEntrant.displayPath;

//récupérer le fichier ayant le méme nom dans l'espace "valider" et le transférer dans le dossier "RESERVE"

var reference = ["workspace", "SpacesStore", "Company Home" ,"valider" , nomDuFichier];
var referenceType = "path";
var rechercheFichier = search.findNode(referenceType, reference);
rechercheFichier.move(destination);
}

}
le dossier valider contient le fichier "test.doc"
et je souhaite que ce fichier "test.doc" soit transférer dans le dossier RESERVE lorsque j'upload le fichier "test.doc" dans le dossier A TRAITER.

le message d'erreur:

Failed to create content due to error: 1109712204 Failed to execute script 'workspace://SpacesStore/040c905a-47de-41dc-ab25-e70a48b2ac5f': 1109712203 TypeError: Cannot call method "move" of null (workspace://SpacesStore/040c905a-47de-41dc-ab25-e70a48b2ac5f#27)

PS: je n'ai pas su comment supprimer le message sur l'autre fenetre.

nathservice
Champ in-the-making
Champ in-the-making
Si j'ai bien compris, vous avez 3 espaces :
- A TRAITER
- RESERVE
- valider

un fichier est uploader dans le dossier "A TRAITER", et s'il y a un fichier du même nom dans le dossier "valider", alors le fichier dans le dossier "A TRAITER" doit être déplacé dans le dossier "RESERVE" .

Suivant se que j'en ai compris, voilà une ébauche :


var origine = companyhome.childByNamePath("A TRAITER"); // Si le script s’exécute sur cet espace, peut être remplacé par "space" (ya des raccourcis, autant en profiter 😉 )
var destination = companyhome.childByNamePath("RESERVE");

//!! mettre le nom exact (et le chemin) de l'espace valider  !!! (je l'ai supposé à la racine…)
var espaceValider = companyhome.childByNamePath("valider");  


var fichier = origine.children;
var nombreDeFichier = fichier.length;
for(var i=0;i<nombreDeFichier;i++)
{

  if(fichier[i].isDocument) //limite la recherche au noeud de type document
  {
    var fichierEntrant=fichier[i];
    var nomDuFichier=fichierEntrant.name; //recupere le nom du document courant contenu dans l'espace "RESERVE"

    // rechercheFichier est une variable qui sera "null" si le fichier avec le nom "nomDuFichier" n'existe pas dans l'espace "valider",
    // sinon rechercheFichier sera le noeud du fichier dont le nom est "nomDuFichier".
    var rechercheFichier =  espaceValider.childByNamePath(nomDuFichier); 
   
    if (rechercheFichier != null)
    {
       fichier[i].move(destination);
    }
  }

}


Attention à bien référencer votre dossier "valider" 5ieme lignes, suivant votre arborescence.

vaquero
Champ in-the-making
Champ in-the-making
je vous remercie pour votre aide Smiley Happy

bien cordialement