有可能拥有一个基于水晶的web服务器来处理文件上传吗?我一直在查看文档,以及许多水晶web框架。我在任何地方都没有找到任何关于简单文件上传功能的参考。
这可能吗?还是我必须去其他地方处理我的图像上传?
不支持多部分/表单数据(https://www.rfc-editor.org/rfc/rfc1867)现在就在水晶中。这是应该在std IMO.中到达的东西
但现在,Serdar Dogruyol似乎已经为此投入了一些时间:
- https://github.com/sdogruyol/kemal/issues/40
- https://github.com/sdogruyol/multipart
更新答案:自2016年11月起,您可以使用Kemal v0.16.1和Crystal 0.19.4进行文件上传。
以下是如何使用
post "/upload" do |env|
parse_multipart(env) do |f|
image1 = f.data if f.field == "image1"
image2 = f.data if f.field == "image2"
puts f.meta
puts f.headers
"Upload complete"
end
end
以下是如何在shivneri框架中上传文件
class FileController < Controller
@[Worker("POST")]
@[Route("/upload")]
def upload_file
path_to_save = File.join(Dir.current, "upload/upload.png")
field = "fort"
if (file.is_exist(field))
file.save_to(field, path_to_save)
return json_result({
message: "file saved"
})
else
result = {
message: "file not saved",
}
return json_result(result)
end
end
end
欲了解更多信息,请访问shivneri doc-https://shivneriforcrystal.com/tutorial/file/