Skip To Content

esri_webfeaturelayer _downloadAttachment (AutoLISP)

Cette fonction télécharge le fichier joint spécifié à partir d’une entité spécifiée d’une couche d’entités Web prise en charge.

Syntaxe

(esri_webfeaturelayer_downloadAttachment flname ename attachmentName filepath [overwrite])

Arguments

  • flname | chaîne | obligatoire | Nom de couche d’entités Web existant dans le dessin.
  • ename | nom d’entité | obligatoire | Nom de l’entité AutoCAD de l’objet pour télécharger la pièce jointe.
  • attachmentName | chaîne | obligatoire | Nom de fichier de la pièce jointe à télécharger.
  • filepath | chaîne | obligatoire | Chemin d’accès au fichier téléchargé.
  • overwrite | true (vrai) / false (faux) | facultatif | Indique si un fichier existant sera remplacé à l’emplacement spécifié. True (Vrai) T remplacera le fichier. False (Faux) nil ne remplacera pas un fichier existant portant le même nom.

Exemple d’utilisation 1

Invite l’utilisateur à sélectionner une entité à partir d’une couche d’entités Web nommée "Damage_to_Residential_Buildings" et essaye de télécharger le fichier joint nommé "AutoCAD_drawingFiles.zip" vers un fichier nommé "C:\\CADWork\\Attachments\\Updated_Drawings.zip".

(setq ename (car (entsel)))
(esri_webfeaturelayer_downloadAttachment 
  "Damage_to_Residential_Buildings" 
  ename 
  "AutoCAD_drawingFiles.zip" 
  "C:\\CADwork\\Attachments\\Updated_Drawings.zip"
)

Exemple d’utilisation du résultat 1

Le fichier AutoCAD_drawings.zip est téléchargé à l’emplacement indiqué. Le C:\\CADWork\\Attachments\\Updated_Drawings.zip et la fonction renvoient :

(T)

Exemple d’utilisation 2

Invite l'utilisateur à sélectionner une entité à partir d'une couche d'entités Web nommée "shelters" et essaye de télécharger le fichier joint nommé "LandSurface.xml" vers un fichier nommé "C:\\CADWork\\Attachments\\LandSurface.xml" (où la couche ne prend pas en charge les pièces jointes).

(setq ename (car (entsel)))
(esri_webfeaturelayer_downloadAttachment 
  "shelters" 
  ename
  "LandSurface.xml" 
  "C:\\CADwork\\Attachments\\LandSurface.xml"
)

Exemple d’utilisation du résultat 2

Le fichier LandSurface.xml n’est pas téléchargé et la fonction renvoie :

(nil ("Error" . "Layer does not support attachments"))

Valeurs renvoyées

  • En cas de réussite, renvoie une liste avec la valeur True : (T)
  • En cas d’échec, renvoie une liste avec la première valeur nil puis une liste associée contenant la valeur principale "Error" et un message d’erreur associé sous forme de chaîne : (nil ( "Error" . "<message>")).

Un échec peut être dû par exemple aux raisons suivantes :

  • (nil ("Error" . "Missing required argument."))

    L’un des quatre arguments requis n’a pas été fourni.

  • (nil ("Error" . "No features found."))

    L’entité spécifiée n’était pas un objet de la couche d’entités Web spécifiée.

  • (nil ("Error" . "Web feature layer not found."))

    La valeur de la couche d’entités Web spécifiée n’est pas une couche d’entités Web valide dans le dessin.

  • (nil ("Error" . "No attachments found on the selected feature."))

    L’entité sélectionnée n’a pas de pièce jointe.

  • (nil ("Error" . "No connected web feature layers found."))

    La connexion réseau à la couche d’entités Web a été perdue.

  • (nil ("Error" . "'TargetAttachmentName' does not exist on the selected feature."))

    Le attachmentName spécifié n’existe pas en tant que pièce jointe sur l’entité spécifiée.

  • (nil ("Error" . "Layer does not support attachments"))

    La couche d’entités Web spécifiée ne prend pas en charge les pièces jointes.

  • (nil ("Error" . "Enable overwrite to remove existing file"))

    Le nom de fichier existe dans le répertoire spécifié. Utilisez l’option de remplacement pour permettre le remplacement du fichier existant.

  • (nil ("Error" . "Could not find a part of the path 'C:\\CADwork\\AttachmentsFiles'."))

    Vérifiez l’argument donné pour le downloadPath spécifié.

  • (nil ("Error" . "Access to the path <downloadPath> is denied."))

    Lorsque vous spécifiez un chemin tel que la racine du lecteur C:\, ..\\AutoCAD\\.. ou l'utilisateur CAD peut ne pas être autorisé à accéder au dossier.