Rev 1310 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.web;
import org.apache.log4j.Logger;
import org.apache.commons.httpclient.util.URIUtil;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import pt.estgp.estgweb.utils.Globals;
import jomm.utils.MimeTypeGuesser;
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 12:46:16
* @see pt.estgp.estgweb.web
*/
public class TmpStream
extends HttpServlet
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(TmpStream.
class);
/** sss requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest
(HttpServletRequest request, HttpServletResponse response
)
throws ServletException,
1.5.0/docs/api/java/io/IOException.html">IOException
{
1.5.0/docs/api/java/lang/String.html">String path = request.
getPathInfo();
1.5.0/docs/api/java/io/File.html">File f =
new 1.5.0/docs/api/java/io/File.html">File(Globals.
TMP_DIR + path
);
1.5.0/docs/api/java/lang/String.html">String mimeType = MimeTypeGuesser.
getInstance().
guessMimeType(f
);
response.
setContentType(mimeType
);
response.
setContentLength((int) f.
length());
response.
setHeader("Content-disposition",
"filename=" + path.
substring(1
));
logger.
info("Opening tmp file:" + f.
getAbsolutePath() +
" with mime-type:" + mimeType
);
5+0%2Fdocs%2Fapi+InputStream">InputStream stream =
new 1.5.0/docs/api/java/io/FileInputStream.html">FileInputStream(new 1.5.0/docs/api/java/io/File.html">File(Globals.
TMP_DIR + path
));
byte[] buf =
new byte[1024
];
int readedBytes
;
5+0%2Fdocs%2Fapi+OutputStream">OutputStream os = response.
getOutputStream();
while((readedBytes = stream.
read(buf
)) > 0
)
{
os.
write(buf,0,readedBytes
);
}
os.
close();
stream.
close();
}
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet
(HttpServletRequest request, HttpServletResponse response
)
throws ServletException,
1.5.0/docs/api/java/io/IOException.html">IOException {
processRequest
(request, response
);
}
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost
(HttpServletRequest request, HttpServletResponse response
)
throws ServletException,
1.5.0/docs/api/java/io/IOException.html">IOException {
processRequest
(request, response
);
}
/** Returns a short description of the servlet.
*/
public 1.5.0/docs/api/java/lang/String.html">String getServletInfo
() {
return "Proxy Servlet to get pages form static web page servers";
}
// </editor-fold>
}