File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes JSP and the fly likes Getting file size and type Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSP
Bookmark "Getting file size and type" Watch "Getting file size and type" New topic
Author

Getting file size and type

Angelo Bonaparte
Greenhorn

Joined: Aug 02, 2006
Posts: 19
Hi, I have a JSP that displays some information including a link such as:

http://www.thehost.com/someSection/someSubSection/Presentation.doc for example. It could be a pdf, or ppt etc.

I want to display the size and the type of file. Is there a way to load a file from the URL and then get it's size and type. The type I could always get by parsing the url, but it's not too elegant.

Thanks.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61768
    
  67

Is the file within the bounds of your web app, or external?


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Angelo Bonaparte
Greenhorn

Joined: Aug 02, 2006
Posts: 19
Yes, it is withing the same realm. In the future the docs might not all be. But for now I think they are.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61768
    
  67

Well, if they're in the same web app and you are not running out of an unexpanded war file, you can use the ServletContext.getRealPath() method to find the file on disk and then use normal File I/O operations on it.

If not, well that's more difficult as you'll need to cooperation of whatever web app the files belong to.
vu lee
Ranch Hand

Joined: Apr 19, 2005
Posts: 189
For remote file type, you could parse the URL, but the catch is you may not get the correct file type.
http://www.thehost.com/someSection/someSubSection/Presentation.doc
this is actually an html type.

try doHeader() to get the content type and file size if the web container does support it (I haven't done it)

Receives an HTTP HEAD request from the protected service method and handles the request. The client sends a HEAD request when it wants to see only the headers of a response, such as Content-Type or Content-Length. The HTTP HEAD method counts the output bytes in the response to set the Content-Length header accurately.


Otherwise, use URLConnnetion to the page and inspect the response header.
For instance, conecting to this page http://wiki.apache.org/nutch-data/attachments/Presentations/attachments/serverside1.pdf , you could see

Type: application/pdf
Size: 124.57 KB (127,562 bytes)
[ March 05, 2007: Message edited by: vu lee ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Getting file size and type