Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

downloading with applet from servlet

Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic