留言板

Generar URL temporal de un fichero en Documents Library

Sergio Lizana,修改在8 年前。

Generar URL temporal de un fichero en Documents Library

New Member 帖子: 17 加入日期: 15-11-30 最近的帖子
Buenas a todos.

Llevo unos días intentando poner solución a un tema del cual no he encontrado ninguna información, os explico mi caso:

Estoy creando un portal con un sistema de compra, lo que se compra es un pdf y necesito crear una url temporal para ese fichero "almacenado en Documents Library" para que otra persona que no haya comprado ese pdf no pueda acceder desde fuera.

Es decir, necesito comprobar antes de acceder al fichero:

1º Que el usuario tiene comprado ese pdf
2º Que se genere una url temporal cada vez que quiera ver su producto comprado en el portal.

¿Alguna idea?

Un saludo
thumbnail
Emilio Jose Lamas Fraga,修改在8 年前。

RE: Generar URL temporal de un fichero en Documents Library

Junior Member 帖子: 57 加入日期: 11-11-29 最近的帖子
Hola,

Si lo estoy entendiendo bien, tendrás que llevar, en cualquier caso, una relación de los ficheros comprados por cada usuario. Es decir, una especie de tabla auxiliar del tipo ID_USUARIO, ID_FICHERO.

Con ello, puedes hacer un hook del Visor de Document Library (si es que es así como se lo muestras al usuario) para que sólo liste los documentos del usuario en cuestión consultando dicha tabla.

Espero que te sirva.

Saludos.
thumbnail
Harvey Tamayo,修改在7 年前。

RE: Generar URL temporal de un fichero en Documents Library

New Member 帖子: 7 加入日期: 15-5-17 最近的帖子
Hola buenas, yo creo que lo que quieres es generar la URL que se abre cuando uno hace clic en descargar en documents Library. Si es así, aquí hemos hecho algo similar:

String url = themeDisplay.getPortalURL() + "/documents/" + themeDisplay.getScopeGroupId() + "/" + dlFileEntry.getFolderId() + "/" + dlFileEntry.getTitle();

Coincido con Emilio donde si o si se necesita el id del pdf corresondiente al DLFileEntry para poder utilizar DLFileEntryLocalServiceUtil.getFileEntry(fileEntryId) y obtener el objeto dlFileEntry.
Allí se visualizaría el pdf en una nueva pestaña del navegador, o en un iframe, etc.

Espero que sea de ayuda,
Saludos