On 7/27/10 9:11 AM, Ian Boston wrote:
> 
> On 27 Jul 2010, at 13:59, Ian Boston wrote:
> 
>>
>> On 27 Jul 2010, at 13:38, Justin Edelson wrote:
>>
>>> Ian-
>>> I'm not near a Sling working copy right now, but have you looked at using 
>>> the NodeNameGenerator interface? I added it to solve a similar use case.
>>
>> Will do,
>> thanks for the pointer.
>> Ian
>>
>>
> 
> Yes that generates a node where a post is performed to a URL ending / or *, 
> which would be Ok except that the SlingFileUploadServlet is hard bound to 
> creating a file of the name specified in the file upload field, rather than 
> the parent which the NodeNameGenerator can supply
> 
> eg 
> currently
> multipart file upload to /pool/ or /pool/* 
> 
> would generate a path of /pool/<generatedname>
> 
> and then SlingFileUploadServlet would create
> /pool/<generatedname>
>              - jcr:primaryType = nt:folder
>                     /<post-file-name>  
>                           - jcr:primaryType = nt:file 
>                          etc
> 
> I need
> /pool/<generatedname>
>               - jcr:primaryType = nt:file 
> 
> 
> I have created a servlet at /system/pool/createfile which doesn't implement 
> all the the sling protocol, but will do for the moment. (its Ugly).
> 
> The alternative would be to modify the SlingFileUploadServlet to use a 
> NodeNameGenerator implementation to create a sub path rather than always 
> relying on the name provided in the file upload.
> 
> Ian
> 
What about:

POST /pool/*
jcr:primaryType = nt:file
jcr:content = (the file form field)

By default, SlingFileUploadHelper will create a nt:resource, so I think
this will create the right thing.

I think everything else can be done with filters.

Justin


Reply via email to