Question: This may sound totally stupid, but is a case of real life :( 

I'm able to display a HTML table with a "virtual" link name.

Something like this:

```
Xyz description   <a href="docId=123">document.doc</a>

Xyz description  <a href="docId=456">documentB.doc</a>

Xyz description  <a href="docId=798">documentC.doc</a>

```

This doc id represents an id in the database ( for these docs are stored in a blob as byte[] ) 

Anyway. I'm able to get that id, query the database and retrieve the byte[] ( and even store it in a tmp file ) 

What I can't figure out how to do, is, that when the user click on the link ( and after I perform the db retrieval ) "serve" the byte[] to the user. 

Now the very worst part, and what makes me ask this question here is, I need to do this with JSP only ( no servlet ) and without 3rd party libraries ( just... don't ask me why I hate it too ) 

So. How do I serve in a jsp the binary content of a byte array stored in the server file system 

My first guest is: 

```
<%
InputStream read // read the file form the fle system 
response.getOutputStream().write( theBytesReader );
%>

```

Am I close to the solution? 

Would this work to the client as if he had clicked really in the server for a real file?

Thanks in advance.

Answer: 
You need to set the MIME type in the HTTP response like below in addition to the sample code you provided.

```
response.setContentType("application/octet-stream");

```

Note, the application/octet-stream MIME type is used to indicate a binary file.
Something like this...

```
InputStream instr = null;
try {
    instr = new BufferedInputStream( new FileInputStream("file.txt") );
    for(int x=instr.read(); x!=-1; x=instr.read()){
        out.write(x);
    }
} finally {
    out.close();
    if( instr != null) instr.close();
}

```

You will need this as the response to the click (either on a page reload or in another jsp file).

There are better buffering solutions you can do with the write using byte arrays rather than one at a time... I will leave that for you.

Sorry you are stuck in JSP scriptlet land...Hope this helps.