Crystal-lang文件/图片上传http服务器

时间:2016-03-25 11:04:19

标签: http file-upload crystal-lang kemal

是否可以使用基于水晶的Web服务器来处理文件上传?我一直在查看文档和许多水晶网页框架。我没有在任何地方找到任何简单文件上传功能的参考。

这可能吗,还是我必须到别处去处理我的图片上传?

3 个答案:

答案 0 :(得分:2)

现在不支持水晶中的multipart / form-data(http://tools.ietf.org/html/rfc1867)。这应该到达标准IMO。

但是现在,Serdar Dogruyol似乎已经投入了一些时间:

答案 1 :(得分:1)

更新的答案:截至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

答案 2 :(得分:0)

您可以通过以下方式在shivneri framework中上传文件

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/