Hi all,
I'm working on a GWT-project, and I got stuck in the part where I need
to send a file on the server-side to the browser, so a user can
download the file. I've done some reading, and found out the best way
to do this is to write a servlet which gets called from the project.
I've found a piece of code for the servlet:
[quote]
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DownloadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public DownloadServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
}
private void doDownload( HttpServletRequest req,
HttpServletResponse resp, String filename, String original_filename )
throws IOException {
File f = new File(filename);
int length = 0;
ServletOutputStream op = resp.getOutputStream();
ServletContext context = getServletConfig().getServletContext();
String mimetype = context.getMimeType( filename );
resp.setContentType( (mimetype != null) ? mimetype : "application/
octet-stream" );
resp.setContentLength( (int)f.length() );
resp.setHeader( "Content-Disposition", "attachment; filename=\"" +
original_filename + "\"" );
byte[] bbuf = new byte[0];
DataInputStream in = new DataInputStream(new FileInputStream(f));
while ((in != null) && ((length = in.read(bbuf)) != -1))
{
op.write(bbuf,0,length);
}
in.close();
op.flush();
op.close();
}
}
[/quote]
Don't know if this is usefull code, it doesn't give any errors in
Eclipse so that's a good start. Now for the main question: how do I
integrate this servlet in my GWT-project? In other words: what kind of
code do I have to place under the button so the servlet gets
triggered?
Trying to figure out for 3 days, so I hope someone knows the answer.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---