Pergunta

Preciso de um campo de arquivo BLOB como parte de um tipo de conteúdo em Plone. Plone.app.blob's Blobfield deve fornecer isso, mas não consigo encontrar como obter um URL para baixar o arquivo, incluindo o nome do arquivo original (por exemplo, http://plone.site/plone/obj/orig-file-name.avi). Existe uma maneira de fazer isso usando plone.app.blob?

Como alternativa, existem alguns ponteiros na web apontando para Plone.NamedFile para fazer isso. Plone.namedfile parece confiar no z3c.blobfile. Como o z3c.blobfile difere do Plone.App.blob?

Um desses métodos é melhor que o outro?

Vik

Foi útil?

Solução

Se você deseja baixar o arquivo usando o nome do arquivo original, precisará de mais algumas peças:

  1. Certifique -se de colocar primário = true nas configurações do campo no esquema.

  2. Verifique se as subclasses da classe do seu tipo de conteúdo Plone.app.blob.content.atblob, que fornece um método index_html que baixará o campo principal.

  3. Certifique -se de adicionar o portal_type do seu tipo de conteúdo à lista TypleSeviewActionInListings em Portal_properties/site_properties.

Plone.NamedFile fornece um campo de arquivo que pode ser usado com a biblioteca Z3C.Form. De fato, é baseado no z3c.blobfile, que fornece uma interface semelhante ao objeto de arquivo do zope.app.file. Provavelmente não é isso que você deseja se estiver construindo um tipo de conteúdo baseado em arquétipos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top