Слуга: загрузить файл как multipart/form-data

Как реализовать API загрузки файлов с помощью Servant? Я пытаюсь обработать «стандартный» multipart/form-data, но не могу понять, как объявить его в Servant.

Это, очевидно, не работает, поскольку не может обрабатывать составные части:

type API = "file" :> ReqBody '[OctetStream] ByteString :> Post '[OctetStream] ()

Поддерживает ли Servant загрузку файлов?


person Alexey Raga    schedule 20.01.2016    source источник
comment
Я предпочитаю загружать ресурсы с помощью ajax, но если вам нужны формы, прочитайте github.com/haskell-servant /слуга/проблемы/133   -  person josejuan    schedule 20.01.2016
comment
Не подскажете по различиям? Я думал, что поддержка составных частей была более стандартным способом сделать это, плюс это позволит ускорить загрузку из-за параллелизма.   -  person Alexey Raga    schedule 20.01.2016
comment
Я предпочитаю, почему я предпочитаю предоставлять свои услуги как клиентский API (и вы можете загружать много файлов одновременно, имеете более точный контроль над каждым запросом,...). Использование (например) FORM более дешево, но гораздо более связано (ui ‹-> ws).   -  person josejuan    schedule 20.01.2016


Ответы (1)


Этот комбинатор работает хорошо. Просто поместите его в файл в своем приложении. https://github.com/haskell-servant/servant/issues/133#issuecomment-125235662

person Sean Clark Hess    schedule 16.03.2016