Google Document Viewer показывает "Недоступно для предварительного просмотра"

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

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

3 ответа

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

Наконец-то решили эту проблему. Проблема есть в 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");
}

Попробуйте закодировать URL-адрес следующим образом

          try {
            encode_url=URLEncoder.encode(url,"UTF-8"); //Url Convert to UTF-8 It important.
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

webView.loadUrl("https://docs.google.com/viewerng/viewer?embedded=true&url="+encode_url);
Другие вопросы по тегам