#java #spring #image
#java #spring #изображение
Вопрос:
Я создаю приложение spring boot, в котором в определенный момент пользователь должен ввести файл (изображение, текст или что угодно, что он хочет), и этот файл в конечном итоге будет автоматически отправлен мне по почте. Я использовал это в своем HTML-шаблоне, чтобы запросить вывод;
<div class="custom-file">
<input type="file" class="custom-file-input"
name="6?-BBtn9E@=G8Yua" id="6?-BBtn9E@=G8Yua"> <label
class="custom-file-label" for="6?-BBtn9E@=G8Yua">Select file</label>
</div>
Как вы можете видеть, я использую bootstrap.
В моем контроллере загрузки spring я получаю этот параметр таким образом;
@RequestParam(name = "6?-BBtn9E@=G8Yua", required = false) File userFile
Тогда почта будет отправляться регулярно (я ранее тестировал, что отправка почты работала, когда у меня все еще не было этой проблемы с вводом файла), поэтому я просто покажу вам прикрепление;
HtmlEmail email = new HtmlEmail();
email.attach(userFile);
email.send();
Однако, когда я отправляю, я получаю это исключение IOException в консоли;
java.io.IOException: "/Users/username/Eclipse-Workspace/Website/file.txt" does not exist
Я нашел файл с именем file.txt , и поскольку я запускаю это на компьютере Mac, путь: /Users/{myUsername}/{Eclipse-Workspace}/{Spring-Boot-Project/{file-name} .
Я хочу, чтобы Spring Boot выполнял поиск вне проекта, а не только внутри него.
Почему это происходит? Спасибо за чтение!
Комментарии:
1. Я думаю, вам нужно прояснить несколько вещей. В вашем RequestParam есть специальные символы, также вы можете использовать MultipartFile dto для получения объекта File.
2. Сэр, я попробовал ваш совет, однако для метода attach() требуется приведение к методу attach() (поскольку для этого требуется файл, а не MulitpartFile), и когда я пытаюсь отправить, я получаю исключение nullpointer…
Ответ №1:
Когда вы хотите, чтобы Spring просматривал папку проекта, которую вы хотите: "file:/Users/username/Eclipse-Workspace/Website/file.txt"
.