समस्या के साथ यूआरएल के लिए थंबनेल का उपयोग कर बनाया मंदिर प्लगइन पटरियों पर 6

0

सवाल

मैं संघर्ष कर रहा है के साथ इस के लिए दिनों की एक जोड़ी और उम्मीद है किसी को मदद कर सकते हैं । वहाँ हो सकता है कुछ स्पष्ट है कि मैं कर रहा हूँ याद आ रही है!

मैं का उपयोग कर रहा हूँ तीर्थ प्लगइन के लिए रेल के लिए पीडीएफ फाइलों को अपलोड करने और उत्पन्न थंबनेल के लिए पहले पृष्ठ. पीडीएफ लोड हो रहा है में निर्दिष्ट भंडारण अंतरिक्ष और थंबनेल भी बनाया हो रही है और हल एक ही स्थान में. हालांकि मैं कर रहा हूँ में सक्षम नहीं प्रदर्शित करने के लिए थंबनेल दृश्य में.

Initializer:

require "shrine"
require "shrine/storage/file_system"
#require "shrine/storage/memory"

Shrine.storages = {
    cache: Shrine::Storage::FileSystem.new("public", prefix: "uploads/cache"),
    store: Shrine::Storage::FileSystem.new("public", prefix: "uploads/store")
}

Shrine.plugin :activerecord    # loads Active Record integration
Shrine.plugin :cached_attachment_data # enables retaining cached file across form redisplays
Shrine.plugin :restore_cached_data  # extracts metadata for assigned cached files
Shrine.plugin :determine_mime_type
Shrine.plugin :validation_helpers
Shrine.plugin :validation
Shrine.plugin :derivatives
#Shrine.plugin :model, cache: false

अपलोडर:

require "image_processing/mini_magick"

class FileUploader < Shrine
 include ImageProcessing::MiniMagick

 plugin :processing # allows hooking into promoting
 plugin :versions   # enable Shrine to handle a hash of files
 plugin :derivatives
 plugin :default_url
# plugin :delete_raw # delete processed files after uploading

 Attacher.validate do
  validate_max_size 5*1024*1024, message: "is too large (max is 5 MB)"
  validate_mime_type %w[application/pdf]
 end

 Attacher.derivatives do |original|
  magick = ImageProcessing::MiniMagick.source(original).loader(page:0).convert("jpeg")
  {
   thumb: magick.resize_to_limit!(200, 200) 
  }

 end

end

परीक्षण देखें:

<p id="notice"><%= notice %></p>

<p>
  <strong>Number:</strong>
  <%= @issue.number %>
</p>

<p>
  <strong>Title:</strong>
  <%= @issue.title %>
</p>

<p>
  <strong>Data:</strong>
  <%= @issue.file_data %>
</p>

<p>
  <strong>Issue Preview</strong>
  <embed src="<%= @issue.file_url %>" width="80" height="160" />
</p>

<p>
  <strong>Issue Thumbnail:</strong>
  <%= image_tag @issue.file_url(:thumb) if @issue.file %>
</p>

<p>
  <strong>Issue:</strong>
  <%= image_tag @issue.file_url if @issue.file %>
</p>

<%= link_to 'Edit', edit_issue_path(@issue) %> |
<%= link_to 'Back', issues_path %>

इसके अलावा, जब मैं देखने में संग्रहीत डेटा file_data क्षेत्र मैं कोई और जानकारी के लिए जोड़ा गया थंबनेल.

फ़ाइल डेटा: {"id":"fccd20a9323aa5b63fd912f4ca833ebb.pdf","storage":"store","metadata":{"filename":"pdf_sample.pdf","size":351987,"mime_type":"application/pdf"}}

pdf ruby-on-rails shrine thumbnails
2021-11-20 21:41:41
2
0

आप की जरूरत है या तो करने के लिए सक्षम स्वत: निर्माण में अनुलग्नक बढ़ावा देने के लिए स्थायी भंडारण:

Shrine.plugin :derivatives, create_on_promote: true

या प्रक्रिया के डेरिवेटिव पर मैन्युअल रूप से लगाव:

record.file_derivatives!
2021-11-21 19:40:25

धन्यवाद आप के लिए अपनी त्वरित प्रतिक्रिया । मैं करने की कोशिश की है प्रसंस्करण डेरिवेटिव दोनों तरीकों से आप ऊपर का सुझाव दिया और थंबनेल बनाया जाता है और sored के साथ-साथ पीडीएफ लगाव के बिना एक समस्या है । मैं भी कॉल कर सकते हैं में उपयोग के लिए URL फ़ाइल में मेरे विचार के माध्यम से @मुद्दा है । file_url. केवल एक चीज है कि नहीं है मेरे लिए काम कर रहा है के लिए URL थंबनेल @मुद्दा है । file_url (अंगूठे). डेटा के लिए थंबनेल भी नहीं के भंडारण में file_data स्तंभ: {"id":"a94c1a6e31176ed530b786ef3cefe18a.pdf","storage":"store","metadata":{"filename":"comic_sample.pdf","size":351987,"mime_type":"application/pdf"}}.
user1851592

व्युत्पन्न डेटा से लापता स्तंभ का मतलब व्युत्पन्न नहीं था उत्पन्न होता है, और यही कारण है कि यूआरएल नहीं के बराबर है. क्योंकि आप प्रकाशित किया गया था अपनी स्थापना के बिना create_on_promote: true की स्थापना, और आप नहीं दिखा था बनाने के डेरिवेटिव स्पष्ट रूप से, मैं मान लिया है कि यह बस नहीं था कहा जाता है ।
janko-m

एक बार फिर धन्यवाद, बीमार पर एक नज़र है मेरी सेटिंग्स फिर से. त्वरित प्रश्न: कैसे थंबनेल उत्पन्न हो रही है अगर Attacher.डेरिवेटिव नहीं किया जा रहा है कहा जाता है?
user1851592
0

अंत में यह समझ से बाहर. मैं इस मुद्दे को हल जोड़ने के द्वारा निम्न करने के लिए _form.html.erb:

<%= form.hidden_field :image, value: @photo.cached_image_data %>
2021-12-08 23:46:19

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में