I'm using url_launcher: ^5.7.5 and when i'm passing a pdf url in the launch function it it keeps downloading the pdf instead of opening it on my browser,
onTap: () async {
url="http://3.65.45.149/uploads/store/vendor_report/vendor_pickup_report_257.pdf";
if (await canLaunch(url)){
await launch(url,
headers: { "Content-Type":"application/pdf",
"Content-Disposition":"inline"}, );
print("browser url");
print(url);
}
else
// can't launch url, there is some error
throw "Could not launch $url";
},
In the new version of URl_laucher
you need to manually specify the launch mode like this:
return await launchUrl(Uri.parse(command),
mode: LaunchMode.externalNonBrowserApplication);
for webview mode: Launch.inAppWebView;
Updated for the newer versions of the url_launcher
flutter package. The launch
and canLaunch
functions are deprecated.
You can simplify your code and extract it in a compact function:
void openPdfFromUrl(String url) {
debugPrint('opening PDF url = $url');
var googleDocsUrl = 'https://docs.google.com/gview?embedded=true&url=${Uri.encodeQueryComponent(url)}';
debugPrint('opening Google docs with PDF url = $googleDocsUrl');
final Uri uri = Uri.parse(googleDocsUrl);
launchUrl(uri);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With