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

downloading with applet from servlet

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.
I agree. Here's the link:
subject: downloading with applet from servlet
jQuery in Action, 3rd edition