1

是否有可能拥有一个基于水晶的网络服务器来处理文件上传?我一直在查看文档,以及许多水晶网络框架。我在任何地方都没有找到任何对简单文件上传功能的引用。

这可能吗,还是我必须寻找其他地方来处理我的图像上传?

4

3 回答 3

2

现在不支持水晶中的 multipart/form-data ( https://www.rfc-editor.org/rfc/rfc1867 )。这是应该到达标准 IMO 的东西。

但现在,Serdar Dogruyol 似乎在这方面投入了一些时间:

于 2016-03-25T16:22:29.330 回答
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
于 2016-11-19T17:42:48.697 回答
0

这是在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 文档 - https://shivneriforcrystal.com/tutorial/file/

于 2020-03-18T14:10:26.997 回答