gpt4 book ai didi

javascript - 如何在 Rails 中显示 PDF?

转载 作者:行者123 更新时间:2023-11-30 19:04:54 26 4
gpt4 key购买 nike

我正在使用 pdfjs_viewer-rails gem,当我尝试以这种方式加载自定义 PDF 时

<%= pdfjs_viewer pdf_url: "http://biblioteca2.ucab.edu.ve/anexos/biblioteca/marc/texto/AAM8264.pdf", style: :full %>

我收到这个错误:

PDF.js v1.10.100 (build: ea29ec83)
Message: file origin does not match viewer's

我在互联网上进行了搜索,据我所知,我必须设置 CORS,但我不明白如何设置。

如果有任何其他方法可以显示 PDF 而无需打印和下载按钮,这不是谷歌工具栏方法,我很感激。 (我知道不可能阻止 PDF 被下载,这只是我大学分配的作品)。

最佳答案

您可以通过自己的服务器代理 PDF 文件。这应该可以解决您遇到的任何 CORS 问题或其他跨域问题。

第 1 步 - 为代理 Controller 添加新路由

get "proxy/:url" => "proxy#index", :constraints => { :url => /.*/ }

第 2 步 - 创建代理 Controller

require 'open-uri'

class ProxyController < ApplicationController
def index
url = params[:url]
url.gsub!(/(https?:\/)/, '\1/')

# Note there is no error handling here.
# This is only proof of concept.
data = open(url)

send_data data.read,
:type => data.content_type,
:disposition => 'inline'
end
end

第 3 步 - 修改 View 以使用代理

<%= pdfjs_viewer 
pdf_url: "/proxy/http://remote-server.com/remotefile.pdf",
style: :full %>

关于javascript - 如何在 Rails 中显示 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59091825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com