/** * Upload image. * * @param image * the image * @return the uri * @throws SystemException * the system exception * @throws URISyntaxException * the uRI syntax exception * @throws IOException * @throws PortalException */ public static URI uploadImage(UploadedFile image) throws SystemException, URISyntaxException, IOException, PortalException, NullPointerException { LiferayFacesContext lfc = LiferayFacesContext.getInstance(); ThemeDisplay td = lfc.getThemeDisplay(); ServiceContext serviceContext = new ServiceContext(); serviceContext.setScopeGroupId(td.getScopeGroupId()); long imageFolderId = Long.parseLong(PropsUtil.get("image.folder.id")); DLFolder folder; try { /* Check if folder for image exists */ folder = DLFolderLocalServiceUtil.getDLFolder(imageFolderId); LOG.debug("Folder for app images exists."); } catch (PortalException e) { /* If not -> create */ folder = DLFolderLocalServiceUtil.createDLFolder(imageFolderId); folder.setName("App-Images"); DLFolderLocalServiceUtil.addDLFolder(folder); LOG.debug("Created folder for app images."); } String uuidExt = null; FileEntry file = null; uuidExt = td.getUser().getScreenName() + "_" + UUID.randomUUID().toString() + "_" + new Date().getTime() + "_"; file = DLAppLocalServiceUtil.addFileEntry(td.getUserId(), td.getScopeGroupId(), folder.getFolderId(), uuidExt + image.getName(), MimeTypesUtil.getContentType(image.getName()), uuidExt + image.getName(), uuidExt + image.getName(), "new", image.getBytes(), serviceContext); return new URI(td.getPortalURL() + "/c/document_library/get_file?uuid=" + file.getUuid() + "&groupId=" + td.getScopeGroupId()); }
@Override protected Map<String, Object> getAddEntrySpecifiedArgs( RequestContext requestContext) throws Exception { long repositoryId = requestContext.getLong( DMFolderHandler.REPOSITORY_LIST, requestContext.getGroupId()); File uploadedFile = requestContext.getFile( getDisplayFieldName(UPLOAD_FILE)); Map<String, Object> args = new HashMap<String, Object>(2); args.put("file", uploadedFile); args.put("mimeType", MimeTypesUtil.getContentType(uploadedFile)); args.put("repositoryId", repositoryId); args.put("sourceFileName", uploadedFile.getName()); return args; }
public ServiceFileTemplate updateServiceFileTemplate(long userId, long groupId, long folderId, long serviceInfoId, String fileTemplateNo, String templateName, String sourceFileName, InputStream inputStream, ServiceContext serviceContext) throws PortalException, IOException { long fileEntryId = 0; if (inputStream != null) { String mimeType = MimeTypesUtil.getContentType(sourceFileName); int size = FileUtil.getBytes(inputStream).length; FileEntry fileEntry = dlAppLocalService.addFileEntry(userId, groupId, folderId, sourceFileName, mimeType, templateName, templateName, StringPool.BLANK, inputStream, size, serviceContext); fileEntryId = fileEntry.getFileEntryId(); } ServiceFileTemplatePK fileTemplatePK = new ServiceFileTemplatePK(serviceInfoId, fileTemplateNo); ServiceFileTemplate serviceFileTemplate = serviceFileTemplatePersistence.fetchByPrimaryKey(fileTemplatePK); // remove old fileEntry if (serviceFileTemplate.getFileEntryId() != 0) { dlAppLocalService.deleteFileEntry(serviceFileTemplate.getFileEntryId()); } serviceFileTemplate.setTemplateName(templateName); serviceFileTemplate.setFileEntryId(fileEntryId); return serviceFileTemplatePersistence.update(serviceFileTemplate); }
protected void addDLFileEntry( long parentFolderId, String fileName, InputStream inputStream, long length) throws Exception { setServiceContext(fileName); FileEntry fileEntry = DLAppLocalServiceUtil.addFileEntry( userId, groupId, parentFolderId, fileName, MimeTypesUtil.getContentType(fileName), FileUtil.stripExtension(fileName), StringPool.BLANK, StringPool.BLANK, inputStream, length, serviceContext); _fileEntries.put(fileName, fileEntry); }
public ServiceFileTemplate addServiceFileTemplate(long userId, long groupId, long folderId, long serviceInfoId, String fileTemplateNo, String templateName, String sourceFileName, InputStream inputStream, ServiceContext serviceContext) throws PortalException, IOException { long fileEntryId = 0; serviceContext.setAddGroupPermissions(true); serviceContext.setAddGuestPermissions(true); if (inputStream != null) { String mimeType = MimeTypesUtil.getContentType(sourceFileName); int size = FileUtil.getBytes(inputStream).length; // FileEntry fileEntry = // // dlAppLocalService.addFileEntry(userId, groupId, folderId, // sourceFileName, mimeType, // sourceFileName, sourceFileName, sourceFileName, // inputStream, size, serviceContext); try { FileEntry fileEntry = dlAppLocalService.addFileEntry(userId, groupId, folderId, sourceFileName, mimeType, sourceFileName, sourceFileName, sourceFileName, inputStream, size, serviceContext); fileEntryId = fileEntry.getFileEntryId(); } catch (Exception e) { _log.error(e); } } ServiceFileTemplatePK fileTemplatePK = new ServiceFileTemplatePK(serviceInfoId, fileTemplateNo); ServiceFileTemplate serviceFileTemplate = serviceFileTemplatePersistence.create(fileTemplatePK); serviceFileTemplate.setTemplateName(templateName); serviceFileTemplate.setFileEntryId(fileEntryId); return serviceFileTemplatePersistence.update(serviceFileTemplate); }
/** * * @param userId * @param groupId * @param inputStream * @param sourceFileName * @param fileType * @param fileSize * @param destination * @param serviceContext * @return null if inputStream is null or sourceFileName is null * @throws Exception */ public static FileEntry uploadFile(long userId, long groupId, long fileEntryId, InputStream inputStream, String sourceFileName, String fileType, long fileSize, String destination, ServiceContext serviceContext) throws Exception { FileEntry fileEntry = null; if (inputStream != null && Validator.isNotNull(sourceFileName)) { if(Validator.isNull(fileType)) { fileType = MimeTypesUtil.getContentType(sourceFileName); } if(fileSize == 0) { fileSize = inputStream.available(); //byte[] bytes = FileUtil.getBytes(inputStream, -1, false); //fileSize = bytes.length; } String title = getFileName(sourceFileName); serviceContext.setAddGroupPermissions(true); serviceContext.setAddGuestPermissions(true); Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); if(destination == null) { destination = StringPool.BLANK; } destination += calendar.get(Calendar.YEAR) + StringPool.SLASH; destination += calendar.get(Calendar.MONTH) + StringPool.SLASH; destination += calendar.get(Calendar.DAY_OF_MONTH); DLFolder dlFolder = DLFolderUtil.getTargetFolder(userId, groupId, groupId, false, 0, destination, StringPool.BLANK, false, serviceContext); User user = UserLocalServiceUtil.getUser(serviceContext.getUserId()); PermissionChecker checker = PermissionCheckerFactoryUtil.create(user); PermissionThreadLocal.setPermissionChecker(checker); if(fileEntryId > 0) { fileEntry = DLAppLocalServiceUtil.updateFileEntry(userId, fileEntryId, sourceFileName, fileType, title, title, title, true, inputStream, fileSize, serviceContext); } else { fileEntry = DLAppLocalServiceUtil.addFileEntry(userId, groupId, dlFolder.getFolderId(), title, fileType, title, title, StringPool.BLANK, inputStream, fileSize, serviceContext); } } return fileEntry; }
/** * * @param userId * @param groupId * @param file * @param sourceFileName * @param fileType * @param destination * @param serviceContext * @return null if inputStream is null or sourceFileName is null * @throws Exception */ public static FileEntry uploadFile(long userId, long groupId, long fileEntryId, File file, String sourceFileName, String fileType, String destination, ServiceContext serviceContext) throws Exception { FileEntry fileEntry = null; if (file != null && Validator.isNotNull(sourceFileName)) { if(Validator.isNull(fileType)) { fileType = MimeTypesUtil.getContentType(sourceFileName); } String title = getFileName(sourceFileName); serviceContext.setAddGroupPermissions(true); serviceContext.setAddGuestPermissions(true); Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); if(destination == null) { destination = StringPool.BLANK; } destination += calendar.get(Calendar.YEAR) + StringPool.SLASH; destination += calendar.get(Calendar.MONTH) + StringPool.SLASH; destination += calendar.get(Calendar.DAY_OF_MONTH); DLFolder dlFolder = DLFolderUtil.getTargetFolder(userId, groupId, groupId, false, 0, destination, StringPool.BLANK, false, serviceContext); User user = UserLocalServiceUtil.getUser(serviceContext.getUserId()); PermissionChecker checker = PermissionCheckerFactoryUtil.create(user); PermissionThreadLocal.setPermissionChecker(checker); if(fileEntryId > 0) { fileEntry = DLAppLocalServiceUtil.updateFileEntry(userId, fileEntryId, sourceFileName, fileType, title, title, title, true, file, serviceContext); } else { fileEntry = DLAppLocalServiceUtil.addFileEntry(userId, groupId, dlFolder.getFolderId(), title, fileType, title, title, StringPool.BLANK, file, serviceContext); } } return fileEntry; }
protected void updateIGImageEntries() throws Exception { Connection con = null; PreparedStatement ps = null; ResultSet rs = null; try { con = DataAccess.getUpgradeOptimizedConnection(); ps = con.prepareStatement("select * from IGImage"); rs = ps.executeQuery(); while (rs.next()) { String uuid = rs.getString("uuid_"); long imageId = rs.getLong("imageId"); long groupId = rs.getLong("groupId"); long companyId = rs.getLong("companyId"); long userId = rs.getLong("userId"); String userName = rs.getString("userName"); Timestamp createDate = rs.getTimestamp("createDate"); Timestamp modifiedDate = rs.getTimestamp("modifiedDate"); long folderId = rs.getLong("folderId"); String title = rs.getString("name"); String description = rs.getString("description"); long smallImageId = rs.getLong("smallImageId"); long largeImageId = rs.getLong("largeImageId"); long custom1ImageId = rs.getLong("custom1ImageId"); long custom2ImageId = rs.getLong("custom2ImageId"); Object[] image = getImage(largeImageId); if (image == null) { continue; } String extension = (String)image[0]; String mimeType = MimeTypesUtil.getContentType( "A." + extension); String name = String.valueOf( increment(DLFileEntry.class.getName())); long size = (Long)image[1]; try { addDLFileEntry( uuid, imageId, groupId, companyId, userId, userName, userId, userName, createDate, modifiedDate, groupId, folderId, name, extension, mimeType, title, description, StringPool.BLANK, "1.0", size, 0, smallImageId, largeImageId, custom1ImageId, custom2ImageId); } catch (Exception e) { title = title.concat(StringPool.SPACE).concat( String.valueOf(imageId)); addDLFileEntry( uuid, imageId, groupId, companyId, userId, userName, userId, userName, createDate, modifiedDate, groupId, folderId, name, extension, mimeType, title, description, StringPool.BLANK, "1.0", size, 0, smallImageId, largeImageId, custom1ImageId, custom2ImageId); } addDLFileVersion( increment(), groupId, companyId, userId, userName, createDate, groupId, folderId, imageId, extension, mimeType, title, description, StringPool.BLANK, StringPool.BLANK, 0, "1.0", size, 0, userId, userName, modifiedDate); } runSQL("drop table IGImage"); } finally { DataAccess.cleanUp(con, ps, rs); } }