2016-08-17 3 views
8

я видел в документации в Body section, что сейчас есть поддержка загрузки файлов - или, по крайней мере, я понимаю это такЗагрузка файлов с помощью Vapor

у меня нет сильного фундамента в развитии бэкэнд - особенно если он приходит в рамки, которые до сих пор ездят так быстро, как Vapor do. Интересно, может ли кто-нибудь представить пример реальной загрузки файлов? Я надеялся на простую веб-страницу с возможностью загрузить файл на бэкэнд, а затем сохранить его для будущего использования.

ответ

18

Vapor позволяет загружать файлы с использованием кодирования Multipart. Вы можете прочитать больше о HTTP загрузить здесь:

How does HTTP file upload work?

А также здесь:

What does enctype='multipart/form-data' mean?

Так HTML код для загрузки файла в Vapor будет выглядеть примерно так:

<form action="upload" method="POST" enctype="multipart/form-data"> 
    <input type="text" name="name"> 
    <input type="file" name="image"> 
    <input type="submit" value="Submit"> 
</form> 

А затем код в Vapor

drop.get("form") { req in 
    return try drop.view("form.html") 
} 

drop.post("upload") { req in 
    let name = req.data["name"] 
    let image = req.data["image"] // or req.multipart["image"] 

    ... 
} 

С точки зрения хранения изображения, это зависит от вас. Вы можете сохранить в базе данных или создать папку в системе, к которой у вас есть доступ на запись.

+0

есть ли демо-версия с примером хранения изображений? –

+0

@ tanner0101 это то же самое в парах 2 тоже? – Johnykutty

Смежные вопросы