2012-03-03 13 views
9

Tôi đã sử dụng đá quý 'remotipart' để tải tệp lên không đồng bộ lên phía máy chủ. Ví dụ được chuyển đến phía máy chủ là 'UploadedFile'.Cách lấy một FileBlob từ thể hiện 'ActionDispatch :: Http :: UploadedFile'?

API Rails đề cập đến tất cả các phương thức (như read(), open()) và thuộc tính cho lớp, tuy nhiên tôi không biết cách truy xuất Tệp và lưu trữ nó trên cơ sở dữ liệu như thế nào?

Googling đưa tôi đến không có hướng dẫn sử dụng lớp học này.

Trả lời

19

Điều này hiếm khi được ghi nhận vì hầu hết mọi người sử dụng đá quý để xử lý các tệp tải lên.

Giả sử đối tượng của bạn được gọi là file. Bạn có thể xác định đường dẫn sử dụng điều này:

file.tempfile.to_path.to_s 

Bạn nên di chuyển tệp vì nó được lưu trữ trong /tmp và có thể bị hệ thống xóa. Bạn có thể sử dụng phương pháp FileUtils.mv cho việc này. Sau đó, bạn có thể thêm đường dẫn mới của tệp vào cơ sở dữ liệu.

Các vấn đề liên quan