【问题标题】:Uploading files in Ruby on Rails在 Ruby on Rails 中上传文件
【发布时间】:2010-09-12 02:16:48
【问题描述】:

我有一个 Web 应用程序需要从用户那里上传文件并将其上传到远程服务器。我可以通过file_field从用户到服务器的输入很好,但似乎无法完成从服务器上传到远程的下一步。 Net::HTTP 没有开箱即用的多部分表单,我还没有找到另一个好的解决方案。我需要一些可以让我从用户 -> 服务器 -> 远程而不是用户 -> 远程的东西。以前有人成功过吗?

【问题讨论】:

    标签: ruby-on-rails ruby file-upload


    【解决方案1】:

    令人惊讶的是,多部分表单帖子确实不在 Net:HTTP 中。来自 comp.lang.ruby 的 thread 似乎有 sn-p 代码,您可能会发现对执行必要的编码很有用:

    BOUNDARY = "AaB03x"
    
    def encode_multipartformdata(parameters = {})
      ret = String.new
      parameters.each do |key, value|
        unless value.empty?
          ret << "\r\n--" << BOUNDARY << "\r\n"
          ret << "Content-Disposition: form-data; name=\"#{key}\"\r\n\r\n"
          ret << value
        end
      end
      ret << "\r\n--" << BOUNDARY << "--\r\n"
    end
    

    【讨论】:

    • 看起来它会做到的 - 我会尝试一下,让你知道它是否有效。
    【解决方案2】:

    我相信 attachment_fu 插件会允许这样做:

    http://svn.techno-weenie.net/projects/plugins/attachment_fu/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-25
      • 2012-07-05
      • 2021-12-24
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      相关资源
      最近更新 更多