Hi All,
I have written a python script to update one of the property for all assets under a folder using assets http api. It's a PUT request to update the property. The script works fine for PNGs, PDFs but not for tif assets, it is throws a Resource Not Found, 404 error.
For example: http://localhost:4502/api/assets/skm-local/Capture.PNG works and I get 200 back. But http://localhost:4502/api/assets/skm-local/test.tif does not work and I get 404 return. I get the same result when I try this requests in postman.
Even the GET requests via postman return the same results for above URLs. The png gets returned fine but for tif I get 404. Is this a expected behavior for tif files? Does assets http api not support tif formatted assets?
Thanks & Best Regards,
SKM
Solved! Go to Solution.
Views
Replies
Total Likes
This works just fine on AEM 6.5.6 for me.
Try issuing these Curl commands (updating user/pass, path as needed)
If you are able to download the original rendition and open it (showing there is nothing wrong with streaming the bits off the original rendition JCR node) then im not sure ... Since you can update other Tiff's it sounds like there is something weird w/ this Tif's manifestation in AEM. You could try re-uploading the downloaded orginal as a NEW asset and see if that asset has the same problem. If so, maybe there is something w/ that tiff? All and all, HTTP Assets API supports PUT requests for Tif's. If you need to understand why this specific Tif is misbehaving, Adobe Support should be able to help you dig deeper.
This works just fine on AEM 6.5.6 for me.
Try issuing these Curl commands (updating user/pass, path as needed)
If you are able to download the original rendition and open it (showing there is nothing wrong with streaming the bits off the original rendition JCR node) then im not sure ... Since you can update other Tiff's it sounds like there is something weird w/ this Tif's manifestation in AEM. You could try re-uploading the downloaded orginal as a NEW asset and see if that asset has the same problem. If so, maybe there is something w/ that tiff? All and all, HTTP Assets API supports PUT requests for Tif's. If you need to understand why this specific Tif is misbehaving, Adobe Support should be able to help you dig deeper.
Views
Replies
Total Likes
Views
Replies
Total Likes
Also - can you ensure you can perform a GET on it (to read it) and ensure your used has permissions to write to that node. (If youre testing with admin/admin then obviously you have permissions).
Can you provide a screenshot show that your user can read the node at: /content/dam/skm-local/test.tif in AEM?
Views
Replies
Total Likes
Sorry - dont see the screenshot? Maybe something weird with ExL Communities? Can you also check OSGi console and review the PUT in your recent requests? The HTTP Assets API does some resource wrapping ..not sure if there are any hints in there for you? Mine looks like:
here is the screenshot
I see the error in the error.log as the same.
here are the two original screenshots
Ok - sorry, I missed the other posts outside this thread. So this might sound weird - but can you try a smaller tif file? I used the 1MB one from here: https://file-examples.com/index.php/sample-images-download/sample-tiff-download/
Also, can you check in CRXDE Lite to make sure that /content/dam/skm-local/test.tif/jcr:content/renditions/original/jcr:content exists?
If that node doesn't exist (or isn't readable) then the AssetResource cannot be instantiated and it will appear as if the resource is not found.
Looks like we on to something, so the curl command works fine for a 1mb tif file. But the original tif file is 146mb and I verified that original rendition does have content. Screenshot below:
Hi @davidjgonzalezz ,
Thanks for your quick response. I tried the sample curl commands and I still get the 404 for tif file. I am on 6.5.6.0. Here are the commands and outputs from a terminal:
$ curl --user admin:admin http://localhost:4502/api/assets/skm-local/test.tif -X PUT -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My TIF"}}'
{"class":["core/response"],"properties":{"path":"/api/assets/skm-local/test.tif","parentLocation":"/api/assets/skm-local.json","referer":"","changes":[],"location":"/api/assets/skm-local/test.tif.json","status.message":"No resource found at /api/assets/skm-local/test.tif","status.code":404}}
$curl --user admin:admin http://localhost:4502/api/assets/skm-local/Capture.PNG -X PUT -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My TIF"}}'
{"class":["core/response"],"properties":{"path":"/api/assets/skm-local/Capture.PNG","parentLocation":"/api/assets/skm-local.json","referer":"","changes":[{"argument":"/api/assets/skm-local/Capture.PNG","type":"modified"}],"location":"/api/assets/skm-local/Capture.PNG.json","status.message":"OK","title":"Content modified /api/assets/skm-local/Capture.PNG","status.code":200}}
Thanks,
SKM