Давайте узнаем, как загружать файлы из веб-браузера в Mule 4.
Код Мула:
XML
xxxxxxxxxx
1
10
1
<flow name="file-uploadFlow">
2
<http:listener doc:name="Listener" config-ref="HTTP" path="upload-file"></http:listener>
3
<parse-template location="${apps.home}/web-page/hello.html"></parse>
4
</flow>
5
<flow name="file-uploadFlow1">
6
<http:listener config-ref="HTTP_Listener_config" path="upload"></http:listener>
7
<logger level="INFO" doc:name="Logger" message='File content : #[payload."parts"."file"."content"]'></logger>
8
<set-variable value="Success" variableName="status" ></set>
9
<parse-template location="${apps.home}/web-page/hello.html"></parse>
10
</flow>
Вы также можете быть заинтересованы в:
Обработка файлов свойств в Mule 4
Примечание:
- Перейдите
${apps.home}
в студию VM args или из файлов свойств. Для запуска в студии:-Dapps.home=/Users/<user>/studio/workspace/upload/src/main/resources
- В коде
payload."parts"."file"."content"
объект «файл» взят из приведенного ниже HTML-имени для тега файла. Если вы измените имя в HTML, то же самое нужно использовать.<input type="file" required="required" name="file">
- Вместо использования шаблона разбора мы также можем использовать компонент Load static resources.
HTML-код:
HTML
x
13
1
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2
<title>File Upload</title>
3
</head>
4
<body>
5
<div class="container">
6
<form method="POST" action="/upload" enctype="multipart/form-data">
7
<h3>File Upload</h3>
8
<input type="file" required="required" name="file">
9
<button type="submit">Submit</button>
10
</form><br>
11
<font color="green"> #[if (vars.status != null) 'File upload: ' ++ vars.status else '']</font>
12
</div>
13
</body></html>
Примечание:
- Сохраните этот HTML-файл в <app-name> / src / main / resources / web-page
- action = «upload» вызывает вышеуказанные потоки Mule
Дальнейшее чтение
Mule: загрузить свойства в соответствии со средой (с файлом свойств по умолчанию)