Hi Richard, Yes, thank you, that was it! For anyone interested, here's what I got to:
[code]private void saveImageAsEventAsset(final MultipartFile multipartFile, final ImageInfo imageInfo, final String prefix) { MgnlContext.doInSystemContext( new MgnlContext.VoidOp() { @Override public void doExec() { try { String fileExtension = FilenameUtils.getExtension(multipartFile.getOriginalFilename()); String newFileName = prefix + "_" + Calendar.getInstance().getTimeInMillis() + "." + fileExtension; // "Navigate" to the assets folder node AssetProviderRegistry assetProviderRegistry = Components.getComponent(AssetProviderRegistry.class); JcrAssetProvider jcrAssetProvider = (JcrAssetProvider) assetProviderRegistry.getProviderById(DamConstants.DEFAULT_JCR_PROVIDER_ID); JcrFolder assetFolder = (JcrFolder) jcrAssetProvider.getFolder("/event"); Node assetFolderNode = assetFolder.getNode(); // Create asset node Node assetNode = JcrUtils.getOrAddNode(assetFolderNode, newFileName, AssetNodeTypes.Asset.NAME); assetNode.setProperty(AssetNodeTypes.Asset.ASSET_NAME, newFileName); Session session = MgnlContext.getJCRSession(DamConstants.WORKSPACE); // Create asset resource node Node assetResourceNode = JcrUtils.getOrAddNode(assetNode, AssetNodeTypes.AssetResource.RESOURCE_NAME, AssetNodeTypes.AssetResource.NAME); assetResourceNode.setProperty(AssetNodeTypes.AssetResource.DATA, session.getValueFactory().createBinary(multipartFile.getInputStream())); assetResourceNode.setProperty(AssetNodeTypes.AssetResource.FILENAME, newFileName); assetResourceNode.setProperty(AssetNodeTypes.AssetResource.EXTENSION, fileExtension); assetResourceNode.setProperty(AssetNodeTypes.AssetResource.SIZE, Long.toString(multipartFile.getSize())); assetResourceNode.setProperty(AssetNodeTypes.AssetResource.MIMETYPE, imageInfo.getMimeType()); assetResourceNode.setProperty(AssetNodeTypes.AssetResource.WIDTH, Long.toString(imageInfo.getWidth())); assetResourceNode.setProperty(AssetNodeTypes.AssetResource.HEIGHT, Long.toString(imageInfo.getHeight())); session.save(); } catch (Exception e) { logger.debug("Could not save image as event asset", e); } } } ); }[/code] where the org.devlib.schmidt.imageinfo.ImageInfo parameter comes from a previous validation that the uploaded MultipartFile is an image and the prefix String is just something we needed in the asset name.. -- Context is everything: http://forum.magnolia-cms.com/forum/thread.html?threadId=8a22aaec-21e8-487a-b0ee-319409bd4fdb ---------------------------------------------------------------- For list details, see http://www.magnolia-cms.com/community/mailing-lists.html Alternatively, use our forums: http://forum.magnolia-cms.com/ To unsubscribe, E-mail to: <user-list-unsubscr...@magnolia-cms.com> ----------------------------------------------------------------