Download einer PDF-Datei per REST-service mit "Content-Disposition" - Header auf Android
Habe ich zum download einer pdf-Datei durch eine GET-Anfrage hat die folgende Struktur:
http://example.example.com/folder/folder/orders/id/folder/download
In der Wirt die Antwort, die gibt mir der server bei der Anfrage ist wie folgt:
KÖRPER:
%PDF-1.4
%����
4 0 obj
<undefined</Type/XObject/ColorSpace/DeviceRGB/Subtype/Image/BitsPerComponent 8/Width 174/Length 4410/Height 65/Filter/DCTDecode>>stream
����JFIF��C
Und so weiter....
HEADER:
Connection →Keep-Alive
Content-Type →application/pdf
Date →Sun, 16 Feb 2014 04:52:34 GMT
Keep-Alive →timeout=5, max=15
Server →Apache
cache-control →must-revalidate, no-cache, no-store, post-check=0, pre-check=0, private
content-disposition →filename="EXAMPLE.pdf"
content-length →9869
expires →Sat, 25 Mar 1978 10:00:00 GMT
pragma →no-cache
Erste ich habe versucht, die Reaktion des Körpers mit:
HttpEntity httpEntity = response.getEntity();
inputStream = httpEntity.getContent();
Dann habe ich versucht, eine Datei zu erstellen mit pdf-Verlängerung, so dann kann ich rufen Sie es mit einem Vorsatz und endlich zeigen Sie es über einen pdf-reader-app.
String extStorageDirectory = Environment.getExternalStorageDirectory()
.toString();
File folder = new File(extStorageDirectory, "PDF");
folder.mkdir();
File file = new File(folder, "example.pdf");
try {
file.createNewFile();
FileUtils.writeStringToFile(file, inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
File fileobject_in_other_method = new File(Environment.getExternalStorageDirectory()+"/PDF/example.pdf");
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "application/pdf");
startActivity(intent);
Nicht funktioniert... : ( XD
Sah ich einige Beispiel, in denen Sie reden über das herunterladen von Dateien mit php und mit Hilfe der "Content-Disposition" - Header. aber ein verstehe es nicht. Ich muss es tun auf android, bitte ein paar Ratschläge : )
DANK!
- Hast du eine Lösung gefunden, noch?
- Ja , Entschuldigung für die Verspätung, ich poste die Antwort : )
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich ist dies die Art und Weise, die für mich arbeiten : )