我已经成功地加载了一个PDF文件,但是无法在浏览器上查看,它显示为破碎的图像。我正在使用开发环境。
图像上传工作正常,但问题是PDF文件。
在控制台中,如下所示;
Started GET "/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9JYTJWNVNTSWhNWGc0Y25BNVkySnNOVGMyZUdvNGNqWnVaSGR1T1dodmFXZzVZUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpVldsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW0xaGMyOXZaQ0JFYjJOMWJXVnVkSE11Y0dSbUlqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHRZWE52YjJRbE1qQkViMk4xYldWdWRITXVjR1JtQmpzR1ZEb1JZMjl1ZEdWdWRGOTBlWEJsU1NJVVlYQndiR2xqWVhScGIyNHZjR1JtQmpzR1ZBPT0iLCJleHAiOiIyMDIwLTA3LTEyVDA5OjI4OjI0LjAwOFoiLCJwdXIiOiJibG9iX2tleSJ9fQ==--b39997964e1c004a10f563cdc5b48a5e98386df7/masood%20Documents.pdf?content_type=application%2Fpdf&disposition=inline%3B+filename%3D%22masood+Documents.pdf%22%3B+filename%2A%3DUTF-8%27%27masood%2520Documents.pdf" for 2.50.57.56 at 2020-07-12 09:23:36 +0000
Cannot render console from 2.50.57.56! Allowed networks: 127.0.0.0/127.255.255.255, ::1
Processing by ActiveStorage::DiskController#show as PDF
Parameters: {"content_type"=>"application/pdf", "disposition"=>"inline; filename=\"masood Documents.pdf\"; filename*=UTF-8''masood%20Documents.pdf", "encoded_key"=>"eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9JYTJWNVNTSWhNWGc0Y25BNVkySnNOVGMyZUdvNGNqWnVaSGR1T1dodmFXZzVZUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpVldsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW0xaGMyOXZaQ0JFYjJOMWJXVnVkSE11Y0dSbUlqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHRZWE52YjJRbE1qQkViMk4xYldWdWRITXVjR1JtQmpzR1ZEb1JZMjl1ZEdWdWRGOTBlWEJsU1NJVVlYQndiR2xqWVhScGIyNHZjR1JtQmpzR1ZBPT0iLCJleHAiOiIyMDIwLTA3LTEyVDA5OjI4OjI0LjAwOFoiLCJwdXIiOiJibG9iX2tleSJ9fQ==--b39997964e1c004a10f563cdc5b48a5e98386df7", "filename"=>"masood Documents"}
Completed 200 OK in 1ms (ActiveRecord: 0.0ms | Allocations: 377)我跟随着下面所有的步骤;
rails active_storage:install
rails db:migrate模型中的:
has_one_attached :main_image控制器中的:
params.require(:document).permit(:main_image )视图中的:
<div class="field">
<%= form.label :main_image %>
<%= form.file_field :main_image %>
</div>
<%= image_tag @document.main_image, style:"width: 100%;" %>任何建议都欢迎。
提前谢谢你。
发布于 2020-07-12 11:09:10
首先,您正在使用image_tag来呈现PDF文件,这是不可能的。这就是它在HTML中显示破损图像的原因。
如果您真的想预览PDF文件,请将文件的服务url嵌入到iframe中。以下是如何做到这一点
<iframe src="<%= rails_blob_path(@document.main_image, disposition: :inline) %>" height="200" width="300"></iframe>如果有用的话,请告诉我。
https://stackoverflow.com/questions/62859511
复制相似问题