diff options
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java new file mode 100644 index 00000000..7c90dbc8 --- /dev/null +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/RemotePDFFetcher.java @@ -0,0 +1,30 @@ +package at.gv.egiz.pdfas.web.helper; + +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; + +import at.gv.egiz.pdfas.common.utils.StreamUtils; +import at.gv.egiz.pdfas.web.exception.PdfAsWebException; + +public class RemotePDFFetcher { + + public static byte[] fetchPdfFile(String pdfURL) throws PdfAsWebException { + URL url; + try { + url = new URL(pdfURL); + } catch (MalformedURLException e) { + throw new PdfAsWebException("Not a valid URL!", e); + } + if(url.getProtocol().equals("http") || url.getProtocol().equals("https")) { + try { + InputStream is = url.openStream(); + return StreamUtils.inputStreamToByteArray(is); + } catch (Exception e) { + throw new PdfAsWebException("Failed to fetch pdf document!", e); + } + } else { + throw new PdfAsWebException("Failed to fetch pdf document protocol " + url.getProtocol() + " is not supported"); + } + } +} |