8

ユーザーからファイルのアップロードを受け取り、それをリモート サーバーにアップロードする必要がある Web アプリケーションがあります。file_field を介してユーザーからサーバーへの入力を正常に取得できますが、サーバーからリモートへのアップロードの次のステップがうまくいかないようです。Net::HTTP はそのままではマルチパート フォームを実行しません。また、別の適切な解決策を見つけることができませんでした。ユーザー -> リモートではなく、ユーザー -> サーバー -> リモートから移動できるものが必要です。以前にこれを成功させた人はいますか?

4

2 に答える 2

2

私はattachment_fuプラグインがこれを可能にすると信じています:

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

于 2008-09-23T10:47:07.823 に答える
1

驚くべきことに、マルチパートフォームの投稿は実際にはNet:HTTPにはありません。comp.lang.rubyのスレッドには、必要なエンコードを実行するのに役立つと思われるコードのスニペットが含まれているようです。

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
于 2008-09-22T18:37:54.080 に答える