2013-06-21 1 views
0

Я пытаюсь прочитать pdf-файл в рельсах, используя pdf-reader gem of rails. Вот мой кодЧтение pdf в ошибке rails «Вход должен быть объектом типа IO или ошибкой имени файла на«

<% 
reader = PDF::Reader.new('/uploads/pdf/pdf_1.pdf') 
puts reader.pdf_version 
puts reader.info 
puts reader.metadata 
puts reader.page_count 
%> 

Там проблема в загрузке файла PDF. Кроме того, я могу получить доступ к PDF, используя этот адрес http://localhost:3000/uploads/pdf/pdf_1.pdf

Это ошибка, я получаю:

input must be an IO-like object or a filename 

ИДК, что я делаю неправильно. Любая помощь будет принята с благодарностью.

+0

Похоже, он пытается получить файл '/ дата загрузки/PDF/pdf_1 .pdf' от корня вашей системы, а не от корня вашего веб-приложения. –

ответ

0

Попробуйте использовать:

reader = PDF::Reader.new(Rails.root.join('uploads/pdf/pdf_1.pdf')) 

И если вы хотите, чтобы отобразить его на странице, вы должны сделать что-то вроде:

<% reader = PDF::Reader.new(Rails.root.join('uploads/pdf/pdf_1.pdf')) %> 
<%= reader.pdf_version + reader.info + reader.metadata + reader.page_count %> 
+0

По-прежнему такая же ошибка.Btw Я пробовал использовать полный путь «/ home/workspace ...» и не было никакой ошибки, но ничего не выводило. –

+0

Итак, вы должны использовать полный путь, не знаете, почему 'Rails.root ...' не помогает его получить. И где вы ожидаете увидеть выход? На консоли? Вы можете попытаться создать простой скрипт для воспроизведения с этим файлом ... –

+0

На самом деле я пытаюсь просмотреть его данные в файле вида. Мне нужно найти, как заставить его загружать относительно, спасибо за вашу помощь. –