Refactored names of date fields, Created a ResourceManager to handle filesystem stuff
This commit is contained in:
parent
8212379c31
commit
0a099bd5d7
16 changed files with 2245 additions and 2214 deletions
|
|
@ -16,92 +16,85 @@ import javax.servlet.http.HttpSession;
|
|||
|
||||
import org.apache.commons.fileupload.FileItem;
|
||||
|
||||
import zall.bean.Folder;
|
||||
import zall.bean.Image;
|
||||
import zall.bean.User;
|
||||
import zall.bean.Video;
|
||||
import zall.bean.*;
|
||||
import zutil.db.DBConnection;
|
||||
import zutil.io.file.FileUtil;
|
||||
import zutil.jee.upload.AjaxFileUpload;
|
||||
import zutil.log.LogUtil;
|
||||
|
||||
|
||||
public class UploadServlet extends AjaxFileUpload{
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static final Set<String> VIDEO_EXT = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(
|
||||
"avi","mp4","mpeg","mpeg","divx","xvid","wmv","mov","flv","m4v")));
|
||||
public class UploadServlet extends AjaxFileUpload {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public String getProgressHTML() {
|
||||
return ""+
|
||||
"<DIV class='comment-author vcard'>"+
|
||||
" <IMG src='img/upload.png' class='photo avatar photo' height='80' width='80'>"+
|
||||
" <SPAN class='fn n'>"+
|
||||
" <span class='status'>Unknown</span>: <span class='filename' style='font-weight: normal;'>Unknown</span> - <span class='message' style='font-weight: normal;'>Unknown</span>"+
|
||||
" <div class='progressbar'>"+
|
||||
" <b class='progress' style='width: 0%'> </b>"+
|
||||
" </div>"+
|
||||
" </SPAN>"+
|
||||
"</DIV>"+
|
||||
"<DIV class='comment-meta'>" +
|
||||
" <span class='uploaded'>0 KB</span>/ <span class='total'>0 KB</span> " +
|
||||
" - Speed: <span class='speed'>400 KB/s</span>" +
|
||||
"</DIV> ";
|
||||
}
|
||||
private static final Set<String> VIDEO_EXT = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(
|
||||
"avi", "mp4", "mpeg", "mpeg", "divx", "xvid", "wmv", "mov", "flv", "m4v")));
|
||||
|
||||
@Override
|
||||
public void doUpload(HttpServletRequest request, HttpServletResponse response,
|
||||
Map<String,String> fields, List<FileItem> files) throws ServletException{
|
||||
DBConnection db = null;
|
||||
try {
|
||||
HttpSession session = request.getSession();
|
||||
db = Zallery.getDB();
|
||||
User user = (User) session.getAttribute("user");
|
||||
@Override
|
||||
public String getProgressHTML() {
|
||||
return "" +
|
||||
"<DIV class='comment-author vcard'>" +
|
||||
" <IMG src='img/upload.png' class='photo avatar photo' height='80' width='80'>" +
|
||||
" <SPAN class='fn n'>" +
|
||||
" <span class='status'>Unknown</span>: <span class='filename' style='font-weight: normal;'>Unknown</span> - <span class='message' style='font-weight: normal;'>Unknown</span>" +
|
||||
" <div class='progressbar'>" +
|
||||
" <b class='progress' style='width: 0%'> </b>" +
|
||||
" </div>" +
|
||||
" </SPAN>" +
|
||||
"</DIV>" +
|
||||
"<DIV class='comment-meta'>" +
|
||||
" <span class='uploaded'>0 KB</span>/ <span class='total'>0 KB</span> " +
|
||||
" - Speed: <span class='speed'>400 KB/s</span>" +
|
||||
"</DIV> ";
|
||||
}
|
||||
|
||||
// Check if user is authentication
|
||||
if(user != null){
|
||||
Folder folder = Folder.load(db, Long.parseLong( fields.get("folder") ));
|
||||
@Override
|
||||
public void doUpload(HttpServletRequest request, HttpServletResponse response,
|
||||
Map<String, String> fields, List<FileItem> files) throws ServletException {
|
||||
DBConnection db = null;
|
||||
try {
|
||||
HttpSession session = request.getSession();
|
||||
db = Zallery.getDB();
|
||||
User user = (User) session.getAttribute("user");
|
||||
|
||||
// Handle files
|
||||
for(FileItem item : files){
|
||||
try{
|
||||
String ext = FileUtil.getFileExtension(item.getName()).toLowerCase();
|
||||
if( VIDEO_EXT.contains(ext) ){
|
||||
Video vid = new Video();
|
||||
vid.setTitle( item.getName() );
|
||||
vid.setFolder( folder );
|
||||
vid.setUser( user );
|
||||
vid.setFile( item );
|
||||
vid.save(db);
|
||||
logger.info("Video upload successful: "+vid.getFolder().getPath());
|
||||
}
|
||||
else{
|
||||
Image img = new Image();
|
||||
img.setTitle( item.getName() );
|
||||
img.setFolder( folder );
|
||||
img.setUser( user );
|
||||
img.setFile( item );
|
||||
img.save(db);
|
||||
logger.info("Image upload successful: "+img.getFolder().getPath());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.WARNING, "Error: Creating new Media(\""+item.getName()+"\")", e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
item.delete();
|
||||
}
|
||||
response.getWriter().print("<html>OK</html>");
|
||||
}
|
||||
else
|
||||
response.getWriter().print("<html>Authentication Error</html>");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new ServletException(e);
|
||||
} finally{
|
||||
if(db != null) db.close();
|
||||
}
|
||||
}
|
||||
// Check if user is authentication
|
||||
if (user != null) {
|
||||
Folder folder = Folder.load(db, Long.parseLong(fields.get("folder")));
|
||||
|
||||
// Handle files
|
||||
for (FileItem item : files) {
|
||||
try {
|
||||
String ext = FileUtil.getFileExtension(item.getName()).toLowerCase();
|
||||
Media media;
|
||||
if (VIDEO_EXT.contains(ext)) {
|
||||
logger.fine("Video upload detected, extension: " + ext);
|
||||
media = new Video();
|
||||
} else {
|
||||
logger.fine("Image upload detected, extension: " + ext);
|
||||
media = new Image();
|
||||
}
|
||||
|
||||
media.setTitle(item.getName());
|
||||
media.setFolder(folder);
|
||||
media.setOwner(user);
|
||||
media.setFile(item);
|
||||
media.save(db);
|
||||
logger.fine("Media upload successful: " + item.getName());
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.WARNING, "Error: Creating new media(" + item.getName() + ")", e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
item.delete();
|
||||
}
|
||||
response.getWriter().print("<html>OK</html>");
|
||||
} else
|
||||
response.getWriter().print("<html>Authentication Error</html>");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new ServletException(e);
|
||||
} finally {
|
||||
if (db != null) db.close();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue