protected String fileUpload( CommandArgument commandArgument, String fileName, File file, String extension) { try { Group group = commandArgument.getCurrentGroup(); Folder folder = _getFolder(group.getGroupId(), commandArgument.getCurrentFolder()); long folderId = folder.getFolderId(); String title = fileName; String description = StringPool.BLANK; String changeLog = StringPool.BLANK; ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddCommunityPermissions(true); serviceContext.setAddGuestPermissions(true); DLAppServiceUtil.addFileEntry( group.getGroupId(), folderId, title, description, changeLog, file, serviceContext); } catch (Exception e) { throw new FCKException(e); } return "0"; }
@Override protected BaseModel<?> addBaseModel( BaseModel<?> parentBaseModel, boolean approved, ServiceContext serviceContext) throws Exception { DLFolder dlFolder = (DLFolder) parentBaseModel; String content = "Content: Enterprise. Open Source. For Life."; serviceContext = (ServiceContext) serviceContext.clone(); serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH); FileEntry fileEntry = DLAppServiceUtil.addFileEntry( dlFolder.getGroupId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, "Text.txt", ContentTypes.TEXT_PLAIN, getSearchKeywords(), StringPool.BLANK, StringPool.BLANK, content.getBytes(), serviceContext); return DLAppServiceUtil.addFileShortcut( dlFolder.getGroupId(), dlFolder.getFolderId(), fileEntry.getFileEntryId(), serviceContext); }
protected FileEntry addFileEntry(ActionRequest actionRequest) throws Exception { UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest); ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); long folderId = ParamUtil.getLong(uploadPortletRequest, "folderId"); String sourceFileName = uploadPortletRequest.getFileName("file"); String title = ParamUtil.getString(uploadPortletRequest, "title"); String description = ParamUtil.getString(uploadPortletRequest, "description"); String changeLog = ParamUtil.getString(uploadPortletRequest, "changeLog"); if (folderId > 0) { Folder folder = DLAppServiceUtil.getFolder(folderId); if (folder.getGroupId() != themeDisplay.getScopeGroupId()) { throw new NoSuchFolderException("{folderId=" + folderId + "}"); } } InputStream inputStream = null; try { String contentType = uploadPortletRequest.getContentType("file"); long size = uploadPortletRequest.getSize("file"); if (size == 0) { contentType = MimeTypesUtil.getContentType(title); } if (size > 0) { HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest); String[] mimeTypes = DocumentSelectorUtil.getMimeTypes(request); if (ArrayUtil.isNotEmpty(mimeTypes) && !ArrayUtil.contains(mimeTypes, contentType)) { throw new FileMimeTypeException(contentType); } } inputStream = uploadPortletRequest.getFileAsStream("file"); ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), uploadPortletRequest); FileEntry fileEntry = DLAppServiceUtil.addFileEntry( themeDisplay.getScopeGroupId(), folderId, sourceFileName, contentType, title, description, changeLog, inputStream, size, serviceContext); AssetPublisherUtil.addRecentFolderId(actionRequest, DLFileEntry.class.getName(), folderId); return fileEntry; } catch (Exception e) { UploadException uploadException = (UploadException) actionRequest.getAttribute(WebKeys.UPLOAD_EXCEPTION); if (uploadException != null) { if (uploadException.isExceededLiferayFileItemSizeLimit()) { throw new LiferayFileItemException(); } else if (uploadException.isExceededSizeLimit()) { throw new FileSizeException(uploadException.getCause()); } } throw e; } finally { StreamUtil.cleanUp(inputStream); } }