PDF.js消息:文件来源与查看者不匹配(Amazon S3)
在Rails应用程序中,使用pdfjs_viewer-rails
gem( https://github.com/senny/pdfjs_viewer-rails ),我一直看到这个错误:
PDF.js v1.3.91 (build: d1e83b5) Message: file origin does not match viewer's
我认为这是因为PDF是托管在Amazon S3上的,我在这里阅读了CORS的讨论( https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-xhr ) 。 但是,我无法组装有效的COSR配置。
我目前的存储桶配置是:
* GET Range 3000 Accept-Ranges Content-Range Content-Encoding Content-Length Authorization
为了安全起见,我在我的rails应用程序中:
config.action_dispatch.default_headers = { 'Access-Control-Allow-Origin' => '*', 'Access-Control-Request-Method' => %w{GET}.join(",") }
有没有其他人能够克服这个? 有谁知道一个适用于pdf.js和amazon s3的CORS政策?
在我的情况下,问题不是CORS相关。 我不得不覆盖/pdfjs_viewer/viewer.js
并在第7000行的HOSTED_VIEWER_ORIGINS
声明中包含我的开发和生产URL。
如果您想绕过欺骗检测,您可以使用
gem 'pdfjs_viewer-rails', :github => 'MattFenelon/pdfjs_viewer-rails', ref:'615bfd2'