Asset Manager for Video Upload to DAM




I am using the Asset Manager API to get the video in inputStream from a URL and then calling the createAsset function on it. All the attributes passed have non-null values in it. Still, the createAsset function fails with a Null Pointer Exception when I am trying it for videos. However, while uploading the image files to DAM, this method works.
I am setting the mimeType to be video/mp4. Below is the erroneous code-

if (videoURL.contains(".")) {

  mimeType = MigrationUtil.getMimeType(videoURL);

  fileName = videoURL;


GetMethod videoRestResponse = downloadVideo (videoURL);

int videoSize = 0;

if (HttpStatus.SC_OK == videoRestResponse.getStatusCode()) {

   try {

  videoSize = videoRestResponse.getResponseBody().length;

   LOG.debug("Video Size: {} ", videoSize); -->not null

  inputStream = getInputStream(videoRestResponse.getResponseBody());

  String newFile = MigrationConstants.IDZ_DAM_PATH_VIDEO ;

   LOG.debug ( "NEW FILE {} ",newFile ); --> not null

   LOG.debug ( "INPUT STREAM {} ", inputStream );  --> not null

   LOG.debug ( "MIME TYPE {} ", mimeType ); --> video/mp4

   if (null != assetMgr && videoSize > MigrationConstants.ZERO ) {


  assetMgr.createAsset(newFile, inputStream, mimeType, true); --> Null pointer exception


  } catch (MalformedURLException | NullPointerException ex) {

   LOG.error("Malformed OR Null Exception occurred: {}", ex.getMessage(), ex);

  } catch (Exception ex) {

   LOG.error("Exception occured", ex.getMessage(), ex);

  } finally {




So, despite of having all the values within the attributes, I am unable to get as to why the createAsset() function is failing. Is it something to do with just the videos?

I have also tried createAssetBinary() function that does not throw any exception, but, also does not create any asset in the DAM.
Any insights on this will be helpful. Or if I could get some reference for saving a video asset in DAM from any source URL, that would be helpful as well.

Thank you!