2011-01-28 36 views
9

Có thể tìm nạp hình ảnh qua url bằng PaperClip không? Nó có thể với fleximage, nhưng fleximage không có hỗ trợ cho Rails3 vì vậy tôi đã chuyển sang kẹp giấy.Kẹp giấy lấy hình ảnh trực tiếp qua url

Hiện tại, tôi đang tìm nạp hình ảnh qua curl, lưu hình ảnh đó trên hdd và tải hình ảnh đó qua image_file của kẹp giấy.

Tôi đã không tìm thấy giải pháp thực sự nào thông qua google, vì vậy hy vọng bạn có thể giúp tôi.

+0

Bạn đang sử dụng 'tìm nạp' để có nghĩa là 'tải lên'. Câu hỏi sẽ rõ ràng hơn nhiều nếu bạn nói rõ rằng bạn có nghĩa là 'tải lên' và không phải 'tải xuống'. Một số câu trả lời giả định bạn đang hỏi về cách tải xuống. –

Trả lời

1

Phương thức <modelname>.<attachmentname>.url không làm những gì bạn đang tìm kiếm?

Nói cách khác, nếu mô hình của bạn được gọi là Foo và bạn đặt nó để has_attached_file :bar sau đó foo.bar.url nên cung cấp cho các url của hình ảnh của bạn, mà bạn có thể đưa vào một image_tag hoặc một link_to hoặc bất cứ điều gì bạn muốn.

Bạn có thể làm rõ ý của mình nếu đó không phải thứ bạn đang tìm kiếm không?

12

Có điều này là có thể và đáng kinh ngạc đơn giản.

Trong mô hình của bạn:

#we use this to get the image. 
require 'rest-open-uri' 
Class Model << ActiveRecord::Base 
has_attached_file :picture 

#Get the picture from a given url. 
def picture_from_url(url) 
    self.picture = open(url) 
end 

Và sau đó bạn có thể làm một cái gì đó như thế này:

#controller 
@model.picture_from_url(<Your URL here>) 

Và bởi vì chúng ta lưu hình ảnh với phần còn lại của đối tượng. Bạn chỉ có thể sử dụng quyền này trong chế độ xem của mình:

<%= image_tag @model.picture.url %> 

Hy vọng điều này sẽ hữu ích!

+0

Nhưng bạn cũng có thể tải hình ảnh từ url đã cho để có tệp độc lập trên máy chủ của riêng mình không? – mrmnmly

+0

Điều này tạo ra một tệp độc lập trên máy chủ của riêng bạn. Sự khác biệt duy nhất với biểu mẫu nhiều phần là luồng dữ liệu đến từ một nguồn khác (ví dụ: url trong trường hợp này). Bộ xử lý bài đăng của Paperclip sẽ khởi động và thay đổi kích thước và lưu hình ảnh –

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