2008-09-22 6 views
8

J'ai une application Web qui doit télécharger un fichier de l'utilisateur et le télécharger sur un serveur distant. Je peux prendre l'entrée de l'utilisateur au serveur fin par l'intermédiaire de file_field, mais ne peux pas sembler passer à l'étape suivante du téléchargement du serveur à la distance. Net :: HTTP ne fait pas de formulaires en plusieurs parties et je n'ai pas réussi à trouver une autre bonne solution. J'ai besoin de quelque chose qui me permettra d'aller de l'utilisateur -> serveur -> distant au lieu d'aller utilisateur -> distant. Quelqu'un a réussi à le faire avant?Téléchargement de fichiers dans Ruby on Rails

Répondre

1

De façon surprenante, les messages de formulaires multipart ne sont pas dans Net: HTTP. Un thread de comp.lang.ruby semble avoir extrait de code que vous trouverez peut-être utile pour effectuer l'encodage nécessaire:

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 
+0

Ce On dirait que ça va le faire - je vais l'essayer un peu et vous faire savoir si cela fonctionne. – Misplaced