× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.






I know the following will force a Save dialog at the browser, I think it is
the resp.setContentType( ) that really does the trick.  You can use the
following code as a basis, and extract what you need to pull off the Save
dialog for your code.

import java.io.*;
import java.net.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.oroinc.text.perl.*;

public class BigDownloadTest extends HttpServlet {
      public void doGet( HttpServletRequest req, HttpServletResponse resp )
throws ServletException, IOException {

            long bytes = Long.parseLong(req.getParameter("bytes"));
                  File tempFile = File.createTempFile("download", ".zip");


            //no filename specified, so lets fashion something as long as
the bytes they specified.
            java.io.FileOutputStream fos = new
java.io.FileOutputStream(tempFile);
            byte [] array = {'9','8','7','6','5','4','3','2'};
            long l;
            for(l = 0; l < bytes-8; l+=8){
                  fos.write(array);
            }
            fos.write(array,0,(int)(bytes-l));

            String type =
getServletContext().getMimeType(tempFile.getAbsolutePath());
            if (type != null)
            {
                  resp.setContentType(type);
            }

            resp.setDateHeader("last-modified", tempFile.lastModified());
            resp.setContentLength(new Long(tempFile.length()).intValue());

            FileInputStream in = new FileInputStream(tempFile);
            try
            {
                  ServletOutputStream out = resp.getOutputStream();
                  byte[] buf = new byte[4096];
                  int numRead = in.read(buf);
                  while (numRead != -1)
                  {
                        out.write(buf, 0, numRead);
                        numRead = in.read(buf);
                  }
            } finally {
                  in.close();
            }
      }
}





|---------+------------------------------>
|         |           "Mark Phippard"    |
|         |           <MarkP@xxxxxxxxxxxx|
|         |           com>               |
|         |           Sent by:           |
|         |           java400-l-bounces@x|
|         |           idrange.com        |
|         |                              |
|         |                              |
|         |           03/19/2003 07:30 PM|
|         |           Please respond to  |
|         |           Java Programming on|
|         |           and around the     |
|         |           iSeries / AS400    |
|         |                              |
|---------+------------------------------>
  
>-------------------------------------------------------------------------------------------------------------|
  |                                                                             
                                |
  |       To:       Java Programming on and around the iSeries / AS400 
<java400-l@xxxxxxxxxxxx>                 |
  |       cc:                                                                   
                                |
  |       Subject:  Re: Servlet and text/plain                                  
                                |
  |                                                                             
                                |
  
>-------------------------------------------------------------------------------------------------------------|





Larry,

If you find a way that is 100% I'd love to know.  We cannot find a way even
when sending something like a PDF.  We have searched a lot of web forums to
know avail.  The best you can do is give the browser some "hints" in the
headers.  There is one where you give it the filename you want to use, I
think another where you say it is an attachment, and of course there is the
mime type.

In general, we have found that if IE feels it can handle the type, it will
regardless of what you say.  Netscape/Mozilla will generally do what you
want.

Good luck.

Mark




      To:   java400-l@xxxxxxxxxxxx
      cc:
      bcc:
      Subject:    Servlet and text/plain
"Larry" <larryhytail@xxxxxxxxx>
Sent by: java400-l-bounces@xxxxxxxxxxxx
03/19/2003 11:26 AM
Please respond to Java Programming on and around the iSeries / AS400
<font size=-1></font>






















Here's what I think should be a simple question, but I could not find the
answer.
I have a servlet that generates dynamic content in text/plain format that
the end user really does not want to display in his/her browser, but really
wants to accept it as a download file. If you click on my link to the
servlet, currently it builds the data and displays it in text in the
browser.
Of course the user could right click and do "save file as" to stream it
directly to a file on his/her hard drive, but that is not elegant. How do I
make the servlet automatically bring up the save file dialog?
Thanks,
Larry

_______________________________________________
No banners. No pop-ups. No kidding.
Introducing My Way - http://www.myway.com
_______________________________________________
This is the Java Programming on and around the iSeries / AS400 (JAVA400-L)
mailing list
To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.






_______________________________________________
This is the Java Programming on and around the iSeries / AS400 (JAVA400-L)
mailing list
To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.