ปัญหากับที่อยู่ url สำหรับภาพตัวอย่างขนาดเล็กสร้างขึ้นโดยใช้แท่นบูชาส่วนเสริมบนลู่นอกทาง 6

0

คำถาม

ผมกำลังพยายามอย่างหนักกับสำหรับสองสามวันและหวังว่าบางคนสามารถช่วยได้ มันอาจจะบางอย่างชัดเจนว่าฉันหายไป!

ผมกำลังใช้โปรแกรมเสริมสำหรับแท่นบูชาลู่นอกทางที่จะอัพโหลดเอกสาร PDF แฟ้มและสร้างภาพตัวอย่างสำหรับหน้าแรก. ที่มีการโหลดเอกสาร PDF ในจัดเก็บของพื้นที่และภาพตัวอย่างก็จะสร้างขึ้นและการจัดเรียงเรียบร้อยในสถานที่เดียวกัน. แต่ฉันไม่สามารถแสดงภาพตัวอย่างในมุมมอง

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

Uploader:

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

หรือขั้นตอนที่ derivatives ด้วยตนเอบนสิ่งที่แนบมาด้วย:

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

ขอบคุณคุณสำหรับของคุณเร็วการตอบสนองเลย ฉันพยายามการประมวลผล derivatives ทั้งสองวิธีที่เธอแนะให้อยู่เหนือและภาพตัวอย่างถูกสร้างขึ้นและ sored ร้อมกับเอกสาร pdf สิ่งที่แนบมาด้วยโดยไม่มีปัญหาแล้ว ฉันก็สามารถเรียกใช้งานที่อยู่ 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

ที่ derivative ข้อมูลหายไปจากคอลัมน์หมายความว่า derivative ไม่ได้ถูกสร้างขึ้นและนั่นเป็นเหตุผลว่าทำไมคือที่อยู่ URL nil. เพราะนายโพสของคุณโดยไม่ตั้งค่า create_on_promote: true การตั้งค่าและคุณไม่ได้แสดงสร้าง derivatives ในข้อบังคับของฉันคิดว่ามันง่ายๆไม่ได้โทรมา
janko-m

ขอบคุณอีกครั้งป่วยต้องดูของฉันการตั้งค่าอีกครั้ง ถามหน่อยสิยังไงก็คือภาพตัวอย่างจะถูกสร้างขึ้นถ้า Attacher.derivatives ไม่ใช่การเรียกหาฉันเหรอ?
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ý
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่