This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Servlets and the fly likes error in downloading file Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "error in downloading file" Watch "error in downloading file" New topic
Author

error in downloading file

sam liyanage
Ranch Hand

Joined: Nov 25, 2008
Posts: 1073
here is a code for downloading jar file


here is the web.xml file


first i compile the ShowHeadersServlet class and put it to the
C:\Tomcat\apache-tomcat-6.0.18\webapps\hellow\WEB-INF\classes.
then i start the tomcat server.
then go to browser and type this.

http://localhost:8080/hellow/A
it downloading some file named A. But it is not a file which i need.
Actually downloaded file name is equal to the last name of the URl which i typed in browser.
i need to download the bootstrap.jar file.
Also I put this jar to the bin director in tomcat.
What is wrong with this code ?
Ankit Garg
Sheriff

Joined: Aug 03, 2008
Posts: 9291
    
  17

Use the Content-Disposition header...


SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links
sam liyanage
Ranch Hand

Joined: Nov 25, 2008
Posts: 1073
no, i don't need a hiperlink in the broser.
I need to download the file when i put the relavant URl in browser.
The problem is that it download the file which is not expected and the name of the file is last name of URL.

if the URL type is http://localhost:8080/hellow/HelloWorldServlet
downloaded file name is HelloWorldServlet

if the URL type is http://localhost:8080/hellow/A
downloaded file name is A(I change the web.xml also to a when i chang the URL)

I check the size of the downloaded file with my expected bootstrap.jar.
bootstrap.jar size is 17.1 KB
downloaded file size is 70.4 KB.
Ankit Garg
Sheriff

Joined: Aug 03, 2008
Posts: 9291
    
  17

First of all I didn't say that you need a hyperlink. You need to set the content-disposition header in the servlet whose code you just showed. Also where is your jar file actually located?? You are using only the jar name in the File class constructor. You should try to use the inbuilt mechanism in servlets like getResourceAsStream to read files from web application's directory. Read this thread or a tutorial like this for more info...
sam liyanage
Ranch Hand

Joined: Nov 25, 2008
Posts: 1073
i put that jar file to the tomcat/bin folder.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41137
    
  45
In a web app, relative paths (like "bootstrap.jar") don't work, because there is no notion of a default directory. You need to use an absolute path - the "ServletContext.getRealPath" method will be helpful for that.


Ping & DNS - my free Android networking tools app
 
 
subject: error in downloading file
 
Similar Threads
different behavior occurs, why?
problem with this cookie program, getting a blank output
he doesn't ask for authenticate
web.xml change not working
Stuck on HelloWorldServlet