PDF 呈现为空的白框
PDF renders as empty white box
我有一个名为 "Project" 的项目,还有一个名为 "file.pdf" 的 PDF 文件位于 Project/app/assets/file.pdf
。我想在位于 Project/app/views/static/file.html
.
的名为 "file.html" 的页面上呈现 PDF
我写了下面的代码,但是显示的只是一个空的白框。
<embed src="../../assets/file.pdf" width="500" height="375" type='application/pdf'>
我很确定我的浏览器找不到该文件。我可能做错了什么?
更新: 我也尝试了一张图片,放在 app/assets/images/Image.png
中,像这样:
<embed src="../../assets/images/Image.png" width="500" height="375" type='image/png'>
但这也不会呈现。
更新 2: 控制台输出:
在 2016 年 2 月 21 日开始为 127.0.0.1 获取“/文件”04:48:27-0600
由 StaticController#file 处理为 HTML
在 layouts/application(63.8 毫秒)内呈现 static/file.html.erb
在 757 毫秒内完成 200 OK(视图:749.4 毫秒 | ActiveRecord:0.0 毫秒)
在 2016-02-21 04:48:28 -0600
开始为 127.0.0.1 获取“/assets/application.self-e570ac372b74f676a029186250aeeba9bf7016bcd014314d103b5d18b3eb858e.css?body=1”
2016 年 2 月 21 日开始为 127.0.0.1 获取“/assets/pdf-8f705790d319666d8f804cf8809f4d74f036483049ef8c520646d6c98ebedc5f.png”04:48:28-0600
于 2016 年 2 月 21 日开始获取 127.0.0.1 的“/assets/Advanced_Reading_Sample.pdf”04:48:28 -0600
在 app/assets
中创建名为 pdf
的文件夹(例如)并将您的 file.pdf
放在那里,然后在 app/views/static/file.html
中将 src
更改为 embed
标记为 /assets/file.pdf
。这应该可以解决问题。
试试这个,看看它是否有效
<iframe src="yourfile.pdf" style="width:100%; height:700px;" frameborder="0"></iframe>
尝试一下,这会有所帮助
<a href="../../assets/file.pdf" target="_blank">Click To View</a>
谢谢
在你的控制器中写,
def file
pdf_filename = File.join(Rails.root, "/assets/file.pdf")
send_file(pdf_filename, :filename => pdf_filename, :disposition => 'inline', :type => "application/pdf")
end
重命名您的 file.html => file.html.erb 并将其放在 views/controller_name/file.html.erb 下,同时将路由添加到此控制器操作。
在上面的设置中,当您访问 controller/file/ pdf 将显示在浏览器中(内联)。
嗯,我不知道为什么我的应用找不到文件。我刚刚结束使用 iframe 和文件的绝对 url:
<iframe src="http://www.project.com/file.pdf" style="width:100%;height:100%;"><p>Your browser does not support iframes.</p></iframe>
最后,文件呈现。
我有一个名为 "Project" 的项目,还有一个名为 "file.pdf" 的 PDF 文件位于 Project/app/assets/file.pdf
。我想在位于 Project/app/views/static/file.html
.
我写了下面的代码,但是显示的只是一个空的白框。
<embed src="../../assets/file.pdf" width="500" height="375" type='application/pdf'>
我很确定我的浏览器找不到该文件。我可能做错了什么?
更新: 我也尝试了一张图片,放在 app/assets/images/Image.png
中,像这样:
<embed src="../../assets/images/Image.png" width="500" height="375" type='image/png'>
但这也不会呈现。
更新 2: 控制台输出:
在 2016 年 2 月 21 日开始为 127.0.0.1 获取“/文件”04:48:27-0600 由 StaticController#file 处理为 HTML
在 layouts/application(63.8 毫秒)内呈现 static/file.html.erb 在 757 毫秒内完成 200 OK(视图:749.4 毫秒 | ActiveRecord:0.0 毫秒)
在 2016-02-21 04:48:28 -0600
开始为 127.0.0.1 获取“/assets/application.self-e570ac372b74f676a029186250aeeba9bf7016bcd014314d103b5d18b3eb858e.css?body=1”2016 年 2 月 21 日开始为 127.0.0.1 获取“/assets/pdf-8f705790d319666d8f804cf8809f4d74f036483049ef8c520646d6c98ebedc5f.png”04:48:28-0600
于 2016 年 2 月 21 日开始获取 127.0.0.1 的“/assets/Advanced_Reading_Sample.pdf”04:48:28 -0600
在 app/assets
中创建名为 pdf
的文件夹(例如)并将您的 file.pdf
放在那里,然后在 app/views/static/file.html
中将 src
更改为 embed
标记为 /assets/file.pdf
。这应该可以解决问题。
试试这个,看看它是否有效
<iframe src="yourfile.pdf" style="width:100%; height:700px;" frameborder="0"></iframe>
尝试一下,这会有所帮助
<a href="../../assets/file.pdf" target="_blank">Click To View</a>
谢谢
在你的控制器中写,
def file
pdf_filename = File.join(Rails.root, "/assets/file.pdf")
send_file(pdf_filename, :filename => pdf_filename, :disposition => 'inline', :type => "application/pdf")
end
重命名您的 file.html => file.html.erb 并将其放在 views/controller_name/file.html.erb 下,同时将路由添加到此控制器操作。
在上面的设置中,当您访问 controller/file/ pdf 将显示在浏览器中(内联)。
嗯,我不知道为什么我的应用找不到文件。我刚刚结束使用 iframe 和文件的绝对 url:
<iframe src="http://www.project.com/file.pdf" style="width:100%;height:100%;"><p>Your browser does not support iframes.</p></iframe>
最后,文件呈现。