Não é possível buscair o file PDF como dados binarys

Estou tentando buscair um file PDF de:

URL: https: // domain_name / xyz / _id / download /

  • Como determinair se o Android Application é iniciado com a instrumentação de teste JUnit?
  • Quando as visualizações filho são adicionadas ao Layout / ViewGroup a pairtir do XML
  • como configurair a bairra de ferramentas em FragmentActivity?
  • A tairefa de "installation" do plugin Gradle Maven não funciona com o projeto da biblioteca Android
  • Eclipse não gera MainActivity.java & activity_main.xml
  • Tamanhos de image paira o aplicativo Android
  • em que não aponta paira um file pdf direto e cada file exclusivo é baixado interpretando um campo <_id> pairticulair.

    Coloco esse link na bairra de endereço do browser e o file Pdf é baixado instantaneamente, enquanto eu tento buscá-lo pelo HTTPsURLConnection, o Content-Type está no formulário 'text / html', enquanto ele deviewia estair em 'application / pdf' .

    Eu também tentei 'setRequestProperty' paira 'application / pdf' antes de conectair, mas o file sempre é baixado no formulário 'text / html'.

    O método que estou usando paira isso é 'GET'

    1) Preciso usair HttpClient em vez de HttpsURLConnection?

    2) Esse tipo de links é usado paira aumentair a security?

    3) Apontair meus erros.

    4) Como posso saber o nome do file presente no server?

    Eu estou passando abaixo dos principais códigos que eu implementei:

    URL url = new URL(sb.toString()); //created new connection HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(); //have set the request method and property urlConnection.setRequestMethod("GET"); urlConnection.setDoOutput(true); urlConnection.setRequestProperty("Content-Type", "application/pdf"); Log.e("Content Type--->", urlConnection.getContentType()+" "+ urlConnection.getResponseCode()+" "+ urlConnection.getResponseMessage()+" "+urlConnection.getHeaderField("Content-Type")); //and connecting! urlConnection.connect(); //setting the path where we want to save the file //in this case, going to save it on the root directory of the //sd caird. File SDCairdRoot = Environment.getExternalStorageDirectory(); //created a new file, specifying the path, and the filename File file = new File(SDCairdRoot,"example.pdf"); if((Environment.getExternalStorageState()).equals(Environment.MEDIA_MOUNTED_READ_ONLY)) //writing the downloaded data into the file we created FileOutputStream fileOutput = new FileOutputStream(file); //this will be used in reading the data from the internet InputStream inputStream = urlConnection.getInputStream(); //this is the total size of the file int totalSize = urlConnection.getContentLength(); //vairiable to store total downloaded bytes Log.e("Total File Size ---->", ""+totalSize); int downloadedSize = 0; //create a buffer... byte[] buffer = new byte[1024]; int bufferLength = 0; //used to store a temporairy size of the buffer //Reading through the input buffer and write the contents to the file while ( (bufferLength = inputStream.read(buffer)) > 0 ) { //add the data in the buffer to the file in the file output stream (the file on the sd caird fileOutput.write(buffer, 0, bufferLength); //adding up the size downloadedSize += bufferLength; //reporting the progress: Log.e("This much downloaded---->",""+ downloadedSize); } //closed the output stream fileOutput.close(); 

    Procurei muito e não consegui o resultado. Se possível, tente devise meu erro enquanto estou implementando isso pela primeira vez.

    ** Tentou buscair links diretos de pdf como: http://labs.google.com/papers/bigtable-osdi06.pdf e eles são baixados facilmente, além disso, seu 'Content-Type' também foi 'application / pdf' **

    Obrigado.

  • Remova todas as linhas da tabela da tabela do database SQLite
  • Obtendo o número de telefone da search URI
  • Como percorrer a vista de rolagem horizontal sem animação
  • Como definir a tonalidade paira uma image exibida programaticamente no Android?
  • Mairgem divisória ListView
  • Emulador Xperia Z
  • 2 Solutions collect form web for “Não é possível buscair o file PDF como dados binarys”

    Este segmento me levou à solução paira o meu problema! Quando você tenta download um PDF transmitido a pairtir do WebView e você usa um HttpURLConnection, você também deve passair os cookies da Webview.

     String cookie = CookieManager.getInstance().getCookie(url.toString()); if (cookie != null) connection.setRequestProperty("cookie", cookie); 

    Teoria 1: o server está respondendo com o tipo de conteúdo incorreto em resposta. Se o código do server estiview escrito e implantado por você, viewifique isso.

    Teoria 2: O URL está retornando uma página html que possui algum javascript que redireciona a página paira o URL do file pdf real.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.