Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package info.intix.samples;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Enumeration;
- import java.util.HashMap;
- import java.util.LinkedHashMap;
- import java.util.Map;
- import javax.portlet.ActionRequest;
- import javax.portlet.ActionResponse;
- import javax.portlet.PortletException;
- import javax.portlet.RenderRequest;
- import javax.portlet.RenderResponse;
- import com.liferay.portal.kernel.upload.UploadPortletRequest;
- import com.liferay.portal.kernel.util.FileUtil;
- import com.liferay.portal.kernel.util.MimeTypesUtil;
- import com.liferay.portal.kernel.util.StringPool;
- import com.liferay.portal.kernel.util.Validator;
- import com.liferay.portal.service.ServiceContext;
- import com.liferay.portal.service.ServiceContextFactory;
- import com.liferay.portal.theme.ThemeDisplay;
- import com.liferay.portal.util.PortalUtil;
- import com.liferay.portlet.documentlibrary.model.DLFileEntry;
- import com.liferay.portlet.documentlibrary.model.DLFileEntryTypeConstants;
- import com.liferay.portlet.documentlibrary.model.DLFolder;
- import com.liferay.portlet.documentlibrary.service.DLFileEntryServiceUtil;
- import com.liferay.portlet.documentlibrary.service.DLFolderLocalServiceUtil;
- import com.liferay.portlet.dynamicdatamapping.storage.Fields;
- public class uploadMultipleFile1 extends DefaultPortlet {
- @Override
- public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException {
- _log.info("---> doView()");
- super.doView(renderRequest, renderResponse);
- }
- public void uploadMultipleFilesActionMethod (ActionRequest request, ActionResponse response) throws PortletException, IOException {
- _log.info("---> uploadMultipleFilesActionMethod() - *begin* -");
- UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(request);
- File tempFile;
- Map<String, File> fileMap = new LinkedHashMap<String, File>();
- Enumeration<String> paramEnum = uploadRequest.getParameterNames();
- while (paramEnum.hasMoreElements()) {
- String parameter = paramEnum.nextElement();
- if (parameter.startsWith("uploadFileField")) {
- tempFile = uploadRequest.getFile(parameter);
- tempFile = renameFileName(tempFile, uploadRequest, parameter);
- if (tempFile != null) {
- fileMap.put(parameter, tempFile);
- }
- }
- }
- for (Map.Entry<String, File> entry : fileMap.entrySet()) {
- singleFileUpload(request, response, entry.getValue());
- }
- }
- public File renameFileName (File sourceFile, UploadPortletRequest uploadRequest, String paramName) throws IOException {
- _log.info("---> renameFileName() - *begin* -");
- File destination = null;
- String path = sourceFile.getPath();
- path = path.substring(0, path.lastIndexOf(StringPool.BACK_SLASH) + 1);
- String fileNm = uploadRequest.getFileName(paramName);
- if (Validator.isNotNull(fileNm)) {
- path = path.concat(fileNm);
- destination = new File(path);
- FileUtil.copyFile(sourceFile, destination);
- _log.info("---> renameFileName(): copyFile " + sourceFile.getPath() + ">" + sourceFile.getName() + " To " + destination.getPath() + ">" + destination.getName());
- FileUtil.delete(sourceFile);
- _log.info("---> renameFileName(): deleteFile " + sourceFile.getPath() + ">" + sourceFile.getName());
- }
- return destination;
- }
- public void singleFileUpload (ActionRequest actionRequest, ActionResponse actionResponse, File file) {
- _log.info("---> singleFileUpload() - *begin* -");
- ThemeDisplay _themeDisplay = getThemeDisplay(actionRequest);
- DLFileEntry fileEntry = null;
- String strPrefixFileName = "tmp";
- String strFolderName = "TestFolder";
- String title = strPrefixFileName + StringPool.UNDERLINE + file.getName();
- String strTimeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
- long groupId = _themeDisplay.getScopeGroupId();
- try {
- DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(groupId, 0, strFolderName);
- ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), actionRequest);
- long repositoryId = dlFolder.getRepositoryId();
- String mimeType = MimeTypesUtil.getContentType(file); // "image/jpeg";
- String description = "Subido por @Chilcano ";
- String changeLog = "Subido el " + strTimeStamp;
- long fileEntryTypeId = DLFileEntryTypeConstants.FILE_ENTRY_TYPE_ID_BASIC_DOCUMENT;
- Map<String, Fields> fieldsMap = new HashMap<String, Fields>();
- FileInputStream is = new FileInputStream(file);
- long size = file.length();
- fileEntry = DLFileEntryServiceUtil.addFileEntry(
- groupId,
- repositoryId,
- dlFolder.getFolderId(),
- file.getName(),
- mimeType,
- title,
- description,
- changeLog,
- fileEntryTypeId,
- fieldsMap,
- file,
- is,
- size,
- serviceContext);
- _log.info("---> File uploaded to DL successfully! -> folder: " + dlFolder.getPath() + ", file: " + file.getName());
- } catch (com.liferay.portlet.documentlibrary.DuplicateFileException dfe) {
- _log.info("---> File already was uploaded days ago! -> folder: " + strFolderName + ", file: " + file.getName());
- } catch (Exception e) {
- _log.error("---> Error while adding file : " + e.getMessage());
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement