[opencms-dev] Access a file by uuid

Sebastian Himberger sebastian.himberger at gmx.de
Mon Dec 22 12:30:57 CET 2008


Hi,

I currently have no idea about the UUID thing.

Regarding the input stream: You can simply do a:

InputStream is = new ByteArrayInputStream(cmsFile.getContents());

best regards,
Sebastian

Yves Glodt schrieb:
> On Thursday 11 December 2008, Sebastian Himberger wrote:
>   
>> Hi,
>>
>> this works for me:
>>
>> <%@ page
>> import="org.opencms.file.*,org.opencms.jsp.*,org.opencms.util.*,org.opencms
>> .main.*" %>
>> <%
>>
>> String uuid = "ceece147-3144-11dc-a69a-5f50d3bd539c";
>>
>> CmsObject cmso = OpenCms.initCmsObject("Guest");
>> cmso.loginUser("Admin", "thePassWord");
>>
>> CmsResource res = cmso.readResource(new CmsUUID(uuid));
>>
>> out.println(res.getName());
>>
>> %>
>>
>> Are you sure the user who logs in has read access to the resource?
>>     
>
> Well, I guess to...
>
> I am getting this exception:
> org.opencms.file.CmsVfsResourceNotFoundException: Error reading resource with 
> the ID aec33c59-c50d-11dd-a9f2-0015174f605e.
>
> Note that this works:
> CmsResource res = cmso.readResource("/sites/my.site.com/data/123/logo.jpg");
> //System.out.println(res.getResourceId().toString());
>
>
> And this not:
>
> CmsResource res = cmso.readResource(new CmsUUID("aec33c59-c50d-11dd-
> a9f2-0015174f605e"));
>
> So I guess my user is ok. The uuid I use is the one I saw in the print output 
> of the previous example...
>
> Another question came up.... how can I output this CmsResource which is 
> image/jpg from the jsp? Is it possible to cast it to a FileInputStream ?
>
> Best regards,
> Yves
>
>   
>> best regards,
>> Sebastian
>>
>> Yves Glodt schrieb:
>>     
>>> Hello,
>>>
>>>
>>> is it possible to find and access a file in the VFS by it's uuid?
>>>
>>>
>>> Background: I have certains PDF documents in my vfs which are not
>>> accessible
>>> for any user, logged in or not, and I want to serve them with
>>> obfuscated urls
>>> à la /getFile.jsp?id=xxxxxx and it would be nice if I could just use
>>> the uuid
>>> to identify them.
>>> I use OpenCms 7.0.4. Maybe there is another way to achieve this...? :-)
>>>
>>>
>>> Best regards,
>>> Yves
>>>       
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev
>   




More information about the opencms-dev mailing list