Initial import.
This commit is contained in:
parent
bce93523ca
commit
d3b4793113
308 changed files with 23679 additions and 0 deletions
85
src/zall/ZalleryContent.java
Normal file
85
src/zall/ZalleryContent.java
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
package zall;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.commons.fileupload.util.Streams;
|
||||
|
||||
import zall.bean.Image;
|
||||
import zall.bean.Media;
|
||||
import zall.bean.User;
|
||||
import zall.bean.Video;
|
||||
import zutil.db.DBConnection;
|
||||
import zutil.io.file.FileUtil;
|
||||
|
||||
public class ZalleryContent extends HttpServlet{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException{
|
||||
DBConnection db = null;
|
||||
try {
|
||||
HttpSession session = request.getSession();
|
||||
User user = (User) session.getAttribute("user");
|
||||
String size = request.getParameter("size");
|
||||
if( size == null ) size = "";
|
||||
|
||||
if( user != null || size.equalsIgnoreCase("small") ){
|
||||
db = Zallery.getDB();
|
||||
Media media;
|
||||
|
||||
if( "video".equals(request.getParameter("type")) )
|
||||
media = Video.load(db, Integer.parseInt(request.getParameter("id")));
|
||||
else
|
||||
media = Image.load(db, Integer.parseInt(request.getParameter("id")));
|
||||
|
||||
if( media != null ){
|
||||
File file = null;
|
||||
if( size.equalsIgnoreCase( "small" ) )
|
||||
file = media.getFile( Media.Size.SMALL );
|
||||
else if( size.equalsIgnoreCase( "medium" ) )
|
||||
file = media.getFile( Media.Size.MEDIUM );
|
||||
else
|
||||
file = media.getFile( Media.Size.ORIGINAL );
|
||||
|
||||
if( request.getParameter("download") != null )
|
||||
response.setHeader("Content-disposition", "attachment; filename="+media.getTitle()+"."+FileUtil.getFileExtension(file));
|
||||
|
||||
if( file.exists() ){
|
||||
if( "video".equals(request.getParameter("type")) )
|
||||
response.setContentType("video/"+FileUtil.getFileExtension(file));
|
||||
else
|
||||
response.setContentType("image/"+FileUtil.getFileExtension(file));
|
||||
response.setContentLength( (int)file.length() );
|
||||
|
||||
BufferedInputStream in = new BufferedInputStream( new FileInputStream(file) );
|
||||
Streams.copy(in, response.getOutputStream(), false);
|
||||
in.close();
|
||||
}
|
||||
else
|
||||
response.setStatus( 404 );
|
||||
}
|
||||
else{
|
||||
// Page not found
|
||||
response.setStatus( 404 );
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
// Unauthorized
|
||||
response.setStatus( 401 );
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new ServletException(e);
|
||||
} finally{
|
||||
if(db != null) db.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue