?
Solved

Force File Download and then Close Window after save

Posted on 2002-07-12
7
Medium Priority
?
407 Views
Last Modified: 2012-06-21
I would like users to download jpg's from my site and force the browser not to display the image but to promt the user to save it.  

I am almost there, i just have one problem—I can not get the window that is open through this process to close once the download is complete.  This is what i have so far:

1. Button on window1 opens window2
2. window2 has the following code:
<%
     // fetch the file
     String filename = "SCANDISK.LOG";
     String filepath = "C:\\";
     response.setContentType(
          "APPLICATION/OCTET-STREAM");
     response.setHeader("Content-Disposition",
          "attachment; filename=\""
               + filename + "\"");

     java.io.FileInputStream fileInputStream =
          new java.io.FileInputStream(filepath
               + filename);
     int i;
     while ((i=fileInputStream.read()) != -1) {
          out.write(i);
     }
     fileInputStream.close();
     out.close();

%>
3. user is prompted to save the file
4. after saving the file the window remains open.
5. source code for window2 at this point is:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY></BODY></HTML>

As you can see by the code, i would be unable to add any onLoad commands to close the window.

I have tried running a function from the window1 that tries to close window2 every 2 seconds, this causes an error beep until the user saves the file.  I assume this happens because it is trying to close a window that is currently locked(not sure if this is the right term).

So can anyone figure a way so that i can send this file to a user and either not have a window open or have it close once the file has been transferred?


Thanks
0
Comment
Question by:menreeq
  • 3
  • 3
7 Comments
 
LVL 19

Expert Comment

by:cheekycj
ID: 7149258
why do you have to open a second window.. the button should just send the user to your JSP and that will prompt for a download right? No need for a second window or am I missing something?

CJ
0
 

Author Comment

by:menreeq
ID: 7150915
hmmm...maybe i am missing something.  So what changes would make?
0
 
LVL 19

Expert Comment

by:cheekycj
ID: 7151246
in your html how about this:

<input type="button" onClick="window.location.href='yourdownloadjsp.jsp';return true;" value="Download File Now!">

CJ
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

Author Comment

by:menreeq
ID: 7151613
Yes I think there is something missing but it is my fault for not including it.  What you have suggest is fine, however now it leaves window1 (the only window) open after the download is complete...I would like to have this window close after a download (if possible I would like to have it close only after a successful download, I mean only when the user selects saveas and then ok).  Do you know how I can do this?
0
 
LVL 19

Expert Comment

by:cheekycj
ID: 7169573
how about closing the window after about 10-15 seconds, after you sure that the user has selected to download the file.

I haven't found any means of getting info from the dialog itself to JavaScript.

CJ
0
 

Author Comment

by:menreeq
ID: 7170212
I tried that, but i was unhappy with the results, sometimes it closed to late and sometimes it tried to early and you would hear an anoying error beep.  I think i will just have to leave the window open...

0
 

Accepted Solution

by:
Jgould earned 0 total points
ID: 7270626
User asked for deletion, anyone objecting?

i would say PAQ and refund

JGould-EE Moderator
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Moore’s Law has proven itself time and time again since it was first introduced. So what’s next? Will Moore’s law continue to remain relevant, or will new technology take over and bring us the next big advancement in computing?
Exchange administrators are always vigilant about Exchange crashes and disasters that are possible any time. It is quite essential to identify the symptoms of a possible Exchange issue and be prepared with a proper recovery plan. There are multiple…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses
Course of the Month15 days, 9 hours left to enroll

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question