Je veux envoyer un fichier dans une requête HTTP POST et ensuite télécharger Mule le fichier dans un répertoire de fichiers sur un serveur en utilisant FTP. Il semble que le connecteur FTP enregistre la charge utile dans le répertoire du fichier, mais cette entrée est nulle et un fichier vide est écrit dans le répertoire par FTP. J'ai eu un certain succès avec le flux binaire/octet comme type de support dans la requête raml et http en utilisant Postman mais le fichier ne s'ouvre pas et semble être corrompu et quand j'utilise des données de formulaire comme Le type de média dans la requête raml et http s'affiche en tant que paire de valeurs de clé dans message.inboundAttachments mais comment puis-je obtenir le connecteur FTP à écrire à partir d'inboundAttachments. J'ai essayé de le définir comme la charge utile qui montre comme un objet javax mais a des problèmes lors de l'écriture dans le répertoire du fichier. Comment puis-je faire cela et quelle est la meilleure approche à adopter? Les fichiers seraient des fichiers> = 1 et pourraient être des types de fichiers différents. Je suis actuellement en train de le tester avec un fichier.Comment envoyer un fichier dans une requête HTTP et le télécharger sur le serveur de fichiers via FTP dans Mule
De plus, lorsque le fichier est écrit, il s'appelle 28f42420-b325-11e7-8ffb-dcb320524153.dat. Comment puis-je spécifier le nom car il ressemble à message.inboundProperties.originalFilename est null? J'utilise Anypoint Studio 6.2 et Mule 3.8.3 et Postman pour faire les appels http car la console Mule ne semble pas donner l'option d'envoyer un fichier dans la requête.
RAML
/ftp:
displayName: FTP Test
description: Send file to directory using FTP
post:
description: Send file
body:
binary/octet-stream:
multipart/form-data:
application/x-www-form-urlencoded:
properties:
file:
description: The file to be uploaded
required: true
type: file
responses:
200:
body:
application/json:
flux XML actuel
<flow name="sendFtpFile">
<set-payload value="#[message.inboundAttachments.file]" doc:name="Set Payload"/>
<ftp:outbound-endpoint host=${host} port="21" path=${filePath} user=${user} password=${pwd} connector-ref="FTP" responseTimeout="10000" doc:name="FTP"/>
</flow>
Merci
Merci. Je cherche à nommer le nom de fichier comme nom de fichier original + horodatage. Y a-t-il un moyen d'obtenir cette information? message.inboundProperties.originalFilename semble être vide – user3165854
utilisez # [payload.dataSource.part.fileName] pour obtenir le nom de la pièce jointe .. –
Merci beaucoup pour votre aide. Son éclairci beaucoup de requêtes que j'avais autour de la façon de passer les fichiers dans Mule. Merci – user3165854