2008-09-22 10 views
8

Tôi có một ứng dụng web cần tải tệp lên từ người dùng và tải tệp lên máy chủ từ xa. Tôi có thể lấy đầu vào từ người dùng đến máy chủ tốt thông qua file_field, nhưng dường như không thể làm việc bước tiếp theo tải lên từ máy chủ đến từ xa. Net :: HTTP không làm các biểu mẫu nhiều phần ra khỏi hộp và tôi không thể tìm được giải pháp tốt khác. Tôi cần một cái gì đó mà sẽ cho phép tôi đi từ người dùng -> máy chủ -> từ xa thay vì đi người dùng -> từ xa. Bất cứ ai đã thành công trong việc này trước đây?Tải tệp lên trong Ruby on Rails

Trả lời

1

Bài đăng biểu mẫu nhiều phần đáng ngạc nhiên thực sự không có trong Net: HTTP. Một thread từ comp.lang.ruby dường như có đoạn mã bạn có thể thấy hữu ích để thực hiện mã hóa cần thiết:

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

Đó có vẻ như nó sẽ làm điều đó - Tôi sẽ thử nó một chút và cho bạn biết nếu nó hoạt động. – Misplaced