Arturo Arturo -4 years ago 304
reST (reStructuredText) Question

Download pdf file with Ionic via restful

I am creating a mobile app and i want to download a pdf file with restful, i don't know if it's possible.

$headers = array('Content-type: application/json','Authorization: ',);
$fp = fopen (dirname(__FILE__) . '/localfile.tmp', 'w+');

$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($curl_post_data));
curl_setopt($curl, CURLOPT_USERPWD, $api_key);
$file = curl_exec($curl);
if ($file === false){
$info = curl_getinfo($curl);
die('error occured during curl exec. Additioanl info: ' . var_export($info));

header('Content-type: ' . 'application/octet-stream');
header('Content-Disposition: ' . 'attachment; filename=report.pdf');
echo $file;

angular.module('getPdf.Pdf', []).factory('Pdf', function ($http) {
var folUrl = urlRest + '/getPdf.php';
return {
getPdf: function (pdfName) {
return $, pdfName).then(function (response) {

return response;

I can get the file as an object but i do not know if it's the right way

Answer Source

Here is the snipped of code I used some time back to save PDF file from services using AngularJS which should work in Ionic.

 getPdf: function (pdfName) {
            return $, pdfName).then(function (result) {
              var file = new Blob([], {type: 'application/pdf'});
                var timestamp = new Date().toUTCString();
                 saveAs(file, pdfName +timestamp+ ".pdf");

If saveas function didn't work by itself you might need to add FileSaver.js in your project.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download