Web UI Framework

URLs for Files

File URLs within JSF Context Only

The default URL pattern for downloading files from within the JSF environment is:

  • http://NUXEO_SERVER/nuxeo/nxfile/{repository}/{uuid}/blobholder:{blobIndex}/{fileName}

  • http://NUXEO_SERVER/nuxeo/nxfile/{repository}/{uuid}/{propertyXPath}/{fileName}

  • repository is the identifier of the target repository,
  • uuid is the uuid of the target document,
  • blobIndex is the index of the Blob inside the BlobHolder adapter corresponding to the target Document Type (starting at 0),
  • propertyXPath is the xPath of the target Blob property inside the target document,
  • fileName is the name of the file as it should be downloaded (this information is actually not used to do the resolution).

Here are some examples :

  • http://NUXEO_SERVER/nuxeo/nxfile/default/776c8640-7f19-4cf3-b4ff-546ea1d3d496/file:content/rm.pdf

  • http://NUXEO_SERVER/nuxeo/nxfile/default/776c8640-7f19-4cf3-b4ff-546ea1d3d496/blobholder:0/rm.pdf

  • http://NUXEO_SERVER/nuxeo/nxfile/default/776c8640-7f19-4cf3-b4ff-546ea1d3d496/files:files/0/file/SC-DM-DAM.png

  • http://NUXEO_SERVER/nuxeo/nxfile/default/776c8640-7f19-4cf3-b4ff-546ea1d3d496/blobholder:1/SC-DM-DAM.png

For Picture document type, a similar system is available to be able to get the attachments depending on the view name:

  • http://NUXEO_SERVER/nuxeo/nxpicsfile/{repository}/{uuid}/{viewName}:content/{fileName}

where, by default, viewName can be Original, OriginalJpeg, Medium, Thumbnail.

Producing File URLs from JSF Templates

For a single file, in schema "file", where blob field is named "file" and file name field is named "filename":

<nxh:outputLink
  value="#{nxd:fileUrl('downloadFile', currentDocument, field.fullName, currentDocument.file.filename)}">
  <nxh:graphicImage
    value="#{nxd:fileIconPath(currentDocument[field.schemaName][field.fieldName])}"
    rendered="#{! empty nxd:fileIconPath(currentDocument[field.schemaName][field.fieldName])}" />
  <nxh:outputText value="#{currentDocument.file.filename}" />
</nxh:outputLink>

For a list of files, in schema "files", where list name is "files" and in each item, blob field is named "file" and file name field is named "filename":

<nxu:inputList value="#{currentDocument.files.files}" model="model"
rendered="#{not empty currentDocument.files.files}">
  <nxh:outputLink
    value="#{nxd:complexFileUrl('downloadFile', currentDocument, 'files:files', model.rowIndex, 'file', currentDocument.files.files[model.rowIndex].filename)}">
    <nxh:graphicImage
      value="#{nxd:fileIconPath(currentDocument.files.files[model.rowIndex].file)}"
      rendered="#{! empty nxd:fileIconPath(currentDocument.files.files[model.rowIndex].file)}" />
    <nxh:outputText value="#{currentDocument.files.files[model.rowIndex].filename}" />
  </nxh:outputLink>
  <t:htmlTag value="br" />
</nxu:inputList>

This gives you get URLs of the form:

http://NUXEO_SERVER/nuxeo/nxfile/default/8f5aca13-e9d9-4b7b-a1d9-a1dcd74cc709/blobholder:0/mainfile.jpg
http://NUXEO_SERVER/nuxeo/nxfile/default/47ad14f2-c7a6-4a3f-8e4b-6c2cf1458f5a/files:files/0/file/firstfile.jpg

Namespaces:

xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:nxh="http://nuxeo.org/nxweb/html"
xmlns:nxl="http://nuxeo.org/nxforms/layout"
xmlns:nxu="http://nuxeo.org/nxweb/util"

 


Related topics in this documentation

Default URL Patterns Navigation URLs

url
3 months ago manonlumeau Relocated assets to fit new URL structure for 60 - fix
3 years ago Solen Guitter 25
5 years ago Anahide Tchertchian 24 | NXDOC-228: move content about file URLs withn JF context
5 years ago Solen Guitter 23 | Formatting
6 years ago Solen Guitter 22
6 years ago Solen Guitter 21 | Added related topics
9 years ago Stéfane Fermigier 19
9 years ago Stéfane Fermigier 20 | Migrated to Confluence 4.0
9 years ago Stéfane Fermigier 18
9 years ago Stéfane Fermigier 17
9 years ago Stéfane Fermigier 16
9 years ago Stéfane Fermigier 15
9 years ago Stéfane Fermigier 14
9 years ago Stéfane Fermigier 13
9 years ago Stéfane Fermigier 12
9 years ago Stéfane Fermigier 11
9 years ago Stéfane Fermigier 10
9 years ago Stéfane Fermigier 9
9 years ago Stéfane Fermigier 8
9 years ago Stéfane Fermigier 7
9 years ago Stéfane Fermigier 6
9 years ago Stéfane Fermigier 5
9 years ago Stéfane Fermigier 4
9 years ago Stéfane Fermigier 3
9 years ago Stéfane Fermigier 2
9 years ago Stéfane Fermigier 1
History: Created by Stéfane Fermigier

We'd love to hear your thoughts!

All fields required