这真的是使用Compojure,Hiccup和Ring来上传文件
如果有多个标签:
<form action="/file" method="post" enctype="multipart/form-data">
<input name="file" type="file" size="20" multiple/>
<input type="submit" name="submit" value="submit" />
Run Code Online (Sandbox Code Playgroud)
如何使用ring获取所有文件的值?
我创建了一个测试项目,并检查了在提交多个文件时到达后端时请求映射包含的数据类型.以下是请求图的一部分:
{:multipart-params {"submit" submit,
"file" [{:size 439,
:tempfile #<File /tmp/ring-multipart-5216436296043515206.tmp>,
:content-type application/javascript,
:filename bar.js}
{:size 24,
:tempfile #<File /tmp/ring-multipart-3573753728611312574.tmp>,
:content-type application/octet-stream,
:filename foo.md}], ...}
Run Code Online (Sandbox Code Playgroud)
似乎(get-in request [:multipart-params "file"])可以为您提供上传文件的向量,其中包含有关其原始文件名和类型以及临时存储位置的信息.根据Ring的文档,文件将存储一小时.