The moose likes Servlets and the fly likes file downloading concept Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "file downloading concept" Watch "file downloading concept" New topic

file downloading concept

Gabriel Arun Rayappan

Joined: Mar 11, 2009
Posts: 5
hi frds,
I am a beginner in java. i need all your support to go with java developing..See friends, I am going to include downloading concept in my web application. In my home(jsp) page,i will have 3 categories. they will be themes, games, wallpapers. for category there will be 5 images will be placed. When the user wants to download particular thing, user has to click that image and it will be downloaded.. I need your step by step guidance.....
Martijn Verburg

Joined: Jun 24, 2003
Posts: 3275

Hi there and welcome to Javaranch!

Hint 1: Search this forum for some potential answers, this question has been covered before....
Hint 2: Have you taken a look at the various Javaranch FAQ sections? There's one there on file downloads...

Hope that helps!

Cheers, Martijn - Blog,
Twitter, PCGen, Ikasan, My The Well-Grounded Java Developer book!,
My start-up.
Gabriel Arun Rayappan

Joined: Mar 11, 2009
Posts: 5
hi i tried the following code in servlet...while run this project, file download dialog box is opening... but the image is written for 100 bytes only.....i dont know why it is constantly written is downloaded....but it is not opening in print and fax viewer.....

jsp page

servlet :

Ankit Garg

Joined: Aug 03, 2008
Posts: 9462

well I'm not sure but this statement might be causing problems

int size=fin.available();

I read the documentation of the available method which is not very clear for me but this might be it

Returns an estimate of the number of remaining bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream. The next invocation might be the same thread or another thread. A single read or skip of this many bytes will not block, but may read or skip fewer bytes.

In some cases, a non-blocking read (or skip) may appear to be blocked when it is merely slow, for example when reading large files over slow networks.

I don't know what exactly this means but there might be a case that because of this you are getting only the first 100 bytes...

SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links
Bauke Scholtz
Ranch Hand

Joined: Oct 08, 2006
Posts: 2458
Besides that, your code is also quite inefficient and buggy. What would happen if JVM has 128MB of heap space available and you allocate a byte[] based on the file length which more than 128MB? Or when 10 users simultaneously download files which are together more than 128MB in size? Yes, your application will crash with OutOfMemoryError.

Buffer the streams. The file size is irrelevant as far. 10KB is a decent buffer size.
You may get ideas out of this:
Gabriel Arun Rayappan

Joined: Mar 11, 2009
Posts: 5
hi friend, still i couldnt able to do that.please give step by step guidance.....please someone help me...
Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42965
Start here: AvailableDoesntDoWhatYouThinkItDoes
I agree. Here's the link:
subject: file downloading concept
It's not a secret anymore!