仆人:将文件上传为多部分/表格数据

问题描述:

Servant实现文件上传API的方法是什么? 我想处理“标准”multipart/form-data,但无法弄清楚如何在仆人中声明它。仆人:将文件上传为多部分/表格数据

这显然是行不通的,因为它不能处理的multipart:

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

仆人是否支持文件上传?

+1

我更喜欢使用ajax上传资源,但如果您想要表单,请阅读https://github.com/haskell-servant/servant/issues/133 – josejuan

+0

您可以就差异提供建议吗?我认为支持多部分是更加“标准”的做法,并且由于并行性允许更快的上传 –

+0

“我更喜欢”为什么我更喜欢将我的服务作为客户端API公开(并且您可以一次上传多个文件,对每个请求进行粒度控制,...)。使用(例如)FORM更便宜但更耦合(wi)。 – josejuan

该组合器运行良好。只需将它放入应用程序中的文件即可。 https://github.com/haskell-servant/servant/issues/133#issuecomment-125235662