2015-03-07 4 views
6

Я использовал средство просмотра документов Google для открытия файлов PDF на своем устройстве Android. Отображается черный экран с текстом «Без предварительного просмотра», вместо открытия моих файлов PDF. Я тестировал образцы файлов PDF из Google. Они работают нормально, но не мои файлы PDF. Есть ли что-то, что мне нужно сделать с кодовой стороны, чтобы просмотреть мой PDF-файл.Google Document Viewer показывает «Нет предварительного просмотра»

http://docs.google.com/viewer?url=myurl.pdf 

enter image description here

+0

Не могли бы вы предоставить ссылку на PDF-файл, который не работает? –

+0

Извините, я не мог поделиться ссылкой. Это похоже на https://xxxx.com/123/test.pdf – msg

+0

Вы решили эту проблему. Я также получаю эту проблему. – AndroidLad

ответ

3

Если бы файл, который показал эту проблему. Переименовал его, чтобы удалить пробелы в имени файла, обновил мою ссылку, и она сработала. Примечание, что пробелы были надлежащим образом закодированы в HTML как% 20, поэтому это «исправление» не требуется. Но я не могу спорить с успехом. Удачи.

+0

Да, похоже, это совсем недавно изменилось, чтобы не допускать пробелов и других закодированных символов в имени файла. Что-то, что очень раздражает, поскольку мы использовали его довольно много, и поэтому теперь застряли с большим количеством встроенных pdf-файлов, которые раньше работали, но теперь нарушены. У кого-нибудь есть подсказка, где ошибка сообщить об этом? –

0

Окончательно решена эта проблема. Проблема есть в URL-адресе. В url я заменил% 2 на% 252, после чего через 1 неделю я решил эту проблему.

Короче говоря, я хочу кодировать строку запроса.

if (Url != null && Url.contains("=")) { 
    String Urll =Url.substring(Url.lastIndexOf("&Signature=") + 1).replace("%2B", "%252B"); 
    if (null != Urll && Urll.length() > 0 && Urll.contains("%252B")) { 
     int endIndex = Url.lastIndexOf("Signature"); 
     if (endIndex != -1) { 
      Url = Url.substring(0, endIndex); 
      Url = Url + Urll; 
     } 
    } 
    Url = Url.replace("?AWSAccessKeyId=", "?AWSAccessKeyId%3D") 
      .replace("&Expires=", "%26Expires%3D").replace("&Signature=", "%26Signature%3D"); 
} 
Смежные вопросы