File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes Download file from Servlet via Applet Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Download file from Servlet via Applet" Watch "Download file from Servlet via Applet" New topic

Download file from Servlet via Applet

Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
maybe someone can help me on this problem:
i'm trying to send a file from a servlet back to an applet, so
that the user on the client side can download it.
i think the code on the server-side is not the problem, because
if i use html as the front-end, i can download the file.
I'm using this code to connect to the servlet:

URL url=new URL(getCodeBase(), "/servlet/FileServlet");
URLConnection connection=url.openConnection();
ByteArrayOutputStream bs=new ByteArrayOutputStream(512);
PrintWriter out=new PrintWriter(bs,true);
String val=URLEncoder.encode("bar");
String data="foo="+val;
On the server-side i use this code to send back the file:
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
ServletOutputStream out = res.getOutputStream ();
res.setContentType( "application/pdf" );
String fileURL ="file:///c:/test.pdf";
res.setHeader("Content-disposition","attachment; filename=test.pdf" );
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
URL url = new URL(fileURL );
bis = new BufferedInputStream(url.openStream());
bos = new BufferedOutputStream(out);
byte[] buff = new byte[2048];
int bytesRead;
while(-1 != (bytesRead =, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
} catch(final MalformedURLException e) {
System.out.println ( "MalformedURLException." );
throw e;
} catch(final IOException e) {
System.out.println ( "IOException." );
throw e;
} finally {
if (bis != null)
if (bos != null)

I know, that i have to use an inputstream on the client-side to get data from the servlet, but if ever used one, i could send it to an textarea or something like that, but i never were able to download it as a file.
Frank Carver

Joined: Jan 07, 1999
Posts: 6920
The Java Ranch has thousands of visitors every week, many with surprisingly similar names. To avoid confusion we have a naming convention, described at . We require names to have at least two words, separated by a space, and strongly recommend that you use your full real name. Please choose a new name which meets the requirements.

Read about me at ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
I agree. Here's the link:
subject: Download file from Servlet via Applet
It's not a secret anymore!