В дополнение к тому, что сказал пользователь tsegismont, я должен объяснить, что происходит. Я уже использовал статический обработчик, но не правильно.
![enter image description here](https://i.stack.imgur.com/9wgJx.png)
Это то, что у меня было раньше. Папка resource
находится внутри sr c> main> java, и я хотел поместить туда фотографии, но это было невозможно; эта папка скомпилирована, и я должен перезапускать приложение каждый раз, когда происходит загрузка, чтобы увидеть изображения. Не очень хорошая идея.
РЕШЕНИЕ . Я создал папку с именем image-uploads
на том же уровне src
и затем использовал этот код:
router.route("/uploads/imgs/*").handler(
StaticHandler.create("image-uploads").setCachingEnabled(false)
);
И это работает! Когда я звоню https://mywebsite.com/uploads/imgs/something.png vertx попадает в папку загрузки изображений и обслуживает изображения.
Так что если вы хотите загрузить изображения на сервер а затем просматривать их в браузере по ссылке, НЕ загружать файлы в src
или подпапках. Сделайте это снаружи sr c. Да, и когда вы загружаете, сделайте это:
router.route().handler(
BodyHandler.create()
.setUploadsDirectory("image-uploads")
.setBodyLimit(400 * KB)
.setMergeFormAttributes(true)
);
Таким образом setUploadsDirectory
указывает на папку вне sr c, в которую я помещаю данные.