|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() ![]() |
Je ne sais trop comment m'y prendre....
Suite à une recherche, je présente un résultat et une liste de documents pour les quels je veux donner la possibilité de les télécharger... Je sais où se trouve le document sur le serveur, et je voudrais le transmettre côté client, le link direct n'étant bien sur pas possible (question de droits)... Pouvez vous me donner une piste ? Merci, Philippe. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
as tu le document en accès a partir du serveur Web ?
en gros, peut ton faire http://serveurweb/Docs/Ledocument.pdf
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() ![]() |
Donc, je devrais créer un alias (ou répertoire virtuel) dans IIS vers le répertoire de stockage de mes documents téléchargeables ?
Philippe. |
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() |
Il serait peut etre possible de proposer en download http le fichier que tes clients veulent downloader.
Pour cela, il te faut un nouvel XMLService, nommé par exemple SendFile, qui charge le fichier dans un TStream puis l'assigne à la réponse HTTP. Voici un exemple de code : Code :
Le fichier est ensuite chargé dans un TFileStream, puis copié dans un TMemoryStream avant d'être assigné à XMLRequest. Attention : il ne faut pas faire de Free de la MemoryStream dans ce gestionnaire d'événement, le Framework s'en chargera. Le Handle := True est utilisé pour indiquer au Framework de sauter le reste de l'execution du XMLService (xmlgram, xsl) puisque l'on renvoie nous meme la Réponse HTTP. Voila voila
__________________
Nicolas |
||
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() ![]() |
Merci Nicolas !
J'ai fait fonctionner cet exemple avec un fichier en dur... Si le fichier est sur un disque réseau, Quels droits d'accès s'appliquent ? ceux de IU* ? J'aimerais aussi savoir ce que tu utiliserais dans la dll isapi pour la connexion à la BD : TDacDatabase et TDacQuery ? Philippe. |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() |
Citation:
Citation:
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
||
|
|
00
|
|
|
#7 | ||
|
Membre chevronné
![]() ![]() |
J'ai donc un autre souci, c'est que l'accès via le framework se fait sans souci, mais quand je veux implémenter TDacDatabase dans ma dll, je prends l'erreur:
Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() |
pourrais-tu donner plus de détail (code, paramètres de connexion, etc) pour que l'on puisse diagnostiquer le problème correctement ?
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() |
Si tu veux accéder à la base pour récuperer le path du fichier en fonction d'un ID, tu peux aussi utiliser un simple DBExtract dans le XMLGram et déplacer le code du BeforeXMLService vers le AfterXMLGram ou AfterXMLService.
Le DBExtract remplira le Context avec le chemin du fichier, ce qui t'evitera d'utiliser du code pour le TDacDatabase et le TDacQuery. Moins y'a de code, mieux on s'porte
__________________
Nicolas |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() |
J'en profite aussi pour répondre à la question à propos du TDacDatabase
Pour configurer ton TDacDatabase, il suffit de nommer le composant comme ta Datasource dans XMLRad : au chargement, le Framework assignera les mêmes paramètres au composant TDacDatabase, en fonction des paramètres de la Datasource. Cela permet de modifier dynamiquement, sans recompiler, les paramètres d'un composant TDacDatabase. Avec cette technique, si tu as toujours l'erreur, tu pourras la corriger en modifiant les paramètres de ta Datasource et en réessayant, jusqu'à correction
__________________
Nicolas |
|
|
00
|
|
|
#11 |
|
Membre chevronné
![]() ![]() |
Merci Nicolas,
Je teste çà demain.... Euh plutot aujourd'hui, dans quelques heures au boulot ! ;-) Philippe. |
|
|
00
|
|
|
#12 | |
|
Membre chevronné
![]() ![]() |
Re !
J' ai fini mes tests et je te remercie encore pour tes conseils. Sinon, comme tu le disais si justement , Citation:
Il me reste à régler ce pb de connectivité avec un serveur distant (cf. mon autre intervention), et tout sera nickel ! du moins, perfectible mais fonctionnel ! Philippe. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com