Not getting result from .txt from dam

codingStar

09-10-2019

Hi,

I m getting result if I am upload a .txt file in dam manually. below is the query

SELECT * FROM [dam:Asset] AS s WHERE CONTAINS(s.*, '" + mykeyword+ "') AND [jcr:path] like '/content/dam/myprojectfolder%'

but in second case if I created .txt file in dam using stream(which i am getting from some external system) then above query is not returning any result.

anyone share why i am not getting result in second case.

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

codingStar

09-10-2019

Hi @arpitv27529355 @ka786  I have figured it out.

jcr:mimeType was incorrect on below path for generated file stream.

/content/dam/myprojectfolder/mytextfile.txt/jcr:content/renditions/original/jcr:content

To fix this updated the code provided mimeType as "text/plain", below is the code

AssetManager assetManager=resourceResolver.adaptTo(AssetManager.class);

assetManager.createAsset(fileName, stream, "text/plain", true);

Answers (4)

Answers (4)

arpitv27529355

09-10-2019

Hi codingStar ,

Please verify when you are creating a txt file from Stream the jcr:primaryType of the assest should be [dam:Asset] not the nt:file  or try using nt:base [which is considered to be parent node of all nodes] in query which will return all the nodes if any of the child nodes contain particular keyword.

SELECT * FROM nt:base AS s WHERE CONTAINS(s.*, '" + mykeyword+ "') AND [jcr:path] like '/content/dam/myprojectfolder%'

Regards,

Arpit Varshney