001
014
015 package com.liferay.portal.upload;
016
017 import com.liferay.portal.kernel.util.ProgressTracker;
018 import com.liferay.portal.kernel.util.Validator;
019
020 import java.util.List;
021 import java.util.Map;
022
023 import javax.servlet.http.HttpServletRequest;
024 import javax.servlet.http.HttpSession;
025
026 import org.apache.commons.fileupload.FileItem;
027 import org.apache.commons.fileupload.FileItemFactory;
028 import org.apache.commons.fileupload.FileUploadException;
029 import org.apache.commons.fileupload.servlet.ServletFileUpload;
030
031
035 public class LiferayFileUpload extends ServletFileUpload {
036
037 public static final String FILE_NAME =
038 LiferayFileUpload.class.getName() + "_FILE_NAME";
039
040 public static final String PERCENT = ProgressTracker.PERCENT;
041
042 public LiferayFileUpload(
043 FileItemFactory fileItemFactory, HttpServletRequest request) {
044
045 super(fileItemFactory);
046
047 _session = request.getSession();
048 }
049
050 @Override
051 public List<FileItem> parseRequest(HttpServletRequest request)
052 throws FileUploadException {
053
054 _session.removeAttribute(LiferayFileUpload.FILE_NAME);
055 _session.removeAttribute(LiferayFileUpload.PERCENT);
056
057 return super.parseRequest(request);
058 }
059
060
063 @Deprecated
064 @Override
065 @SuppressWarnings("rawtypes")
066 protected FileItem createItem(Map headers, boolean formField)
067 throws FileUploadException {
068
069 LiferayFileItem item = (LiferayFileItem)super.createItem(
070 headers, formField);
071
072 String fileName = item.getFileName();
073
074 if (Validator.isNotNull(fileName)) {
075 _session.setAttribute(LiferayFileUpload.FILE_NAME, fileName);
076 }
077
078 return item;
079 }
080
081 private final HttpSession _session;
082
083 }