문제

나는 현재 사용 중입니다 Net::HTTP Ruby 스크립트에서 멀티 파트 양식 게시물을 통해 웹 사이트에 파일을 게시합니다. 작은 파일에 적합하지만이 스크립트를 사용하여 매우 큰 파일을 보내야합니다. HTTP#post 우편 데이터만을 수락하는 것 같습니다 String 객체, 이는 내가 보내는 파일을 보내기 전에 메모리로 읽어야한다는 것을 의미합니다. 이 스크립트는 바쁜 프로덕션 서버에서 실행되므로 파일을 보내기 위해 수백 메가 바이트의 RAM을 고용 할 수 없습니다.

이상적으로는 버퍼 크기와 IO 물체, 그리고 버퍼 크기의 데이터 덩어리를 보내고 IO 필요에 따라 개체. 이런 일을하는 가장 좋은 방법은 무엇입니까? 관련이있는 것을 놓쳤습니까? Net::HTTP?

업데이트: Net::HTTP#body_stream(input) 문서는 다소 ... 드문 일이지만 좋아 보인다. 이것에 대한 좋은 예를 들여다 볼 수있는 사람이 있습니까?

도움이 되었습니까?

해결책

net :: http#body_stream (입력)

예제 스트리밍없이 멀티 파트 게시물:

다른 팁

실제로 Body_stream을 사용하여 파일을 업로드했습니다. 전체 소스 코드는 다음과 같습니다.http://stanislavvitvitskiy.blogspot.com/2008/12/multipart-post-in-ruby.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top