[ASP.NET][VB] Aider moi pour le telechargement puis la suppression d'un fichier

cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006 - 21 avril 2005 à 12:55
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006 - 26 avril 2005 à 09:34
Bonjour, j'ai un petit probleme.

Je ne vois pas du tout comment faire pour faire telecharger un fichier
vers le client puis de supprimer ce fichier sur le serveur.

En fait, je crée un fichier Word à partir d'une base de donnée, puis il
faut l'envoyer au client et pour finir le supprimer du serveur (si
possible en une seule page)

Voila alors allez y, laisser vos idées .

11 réponses

cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
21 avril 2005 à 13:19
Au fait pour la création du fichier word il n'y a aucun probleme, le fichier est créé et je peux l'ouvrir
Et autre chose encore : j'essaie de faire telecharger le fichier et il me dit :


L'argument spécifié n'était pas dans les limites de la plage des valeurs
valides. Nom du paramètre : date

(Et non je n'ai pas oublié de fermer mon fichier après la création ! :) )
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
21 avril 2005 à 13:42
Le plus simple est de faire une page qui renvoie ton document, une page genre :



document.aspx?name=mondoc.doc



dans celui ci tu fais un response.clear un
response.addheader("content-type","applucation/ms-word") et un
response.write(binaire de ton sql) enfin un response.flush



c'est possible que je me sois planté dans les noms, mais c'est le
principe qui est important. Il faudrais que je fasse une source la
dessus, mais pour l'instant j'ai plus de serveur SQL sous la main, donc
ca devra attendre encore un peu :-/



mais le principe est simple, c'est le meme que d'afficher une photo extraite d'une bdd

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
21 avril 2005 à 13:54
Je ne sais pas si c'est ca que tu disais mais j'ai essayé ca :

response.clear

response.addheader("content-type","application/ms-word")

response.write("fichier.doc")

response.flush

Et le resultat : on me propose de telecharger la page où
j'ai mis le code (page.aspx mais juste le code html (l'asp étant deja
interpreté)

Donc voila si t'as une idée du probleme ?
0
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
21 avril 2005 à 14:14
Bon je viens de me rendre compte qu'il ne fallait pas utilisé de chaine
pour le response.Write sinon ca affiche (normal mais j'avais meme pas
vu que c'etait cette fonction là)

Donc, j'ai essayé de mettre l'objet qui a servi pour la creation du fichier word

fso = CreateObject("Scripting.FileSystemObject")
myfile = fso.CreateTextFile(Server.MapPath(nomFichier))



'Creation du fichier word avec des MyFile.WriteLine("blablabla")

......



response.Clear

response.AddHeader("content-type","application/ms-word")

response.Write(MyFile)

response.Flush



MyFile.Close



Et ca me fait pareil : ca me fait telecharger la page.aspx avec un ptit : System.__ComObject

Donc toujours pas de solution snif
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 avril 2005 à 13:34
oublie ca :



fso = CreateObject("Scripting.FileSystemObject")
myfile = fso.CreateTextFile(Server.MapPath(nomFichier))




Ca c'est du VB6, donc oublie :p



Quand tu dis créer, ca veut dire que tout le binaire du fichier word et dans une bdd ou sinon quoi ?



moi je pensée que ton truc venait d'une bdd donc une fois ca fait, tu n'as qu'a envoyé le binaire dans le fichier.



Pour le
response.addheader("content-type","application/ms-word")

je suis pas sur de moi,il me semble que c'est ca, mais peut etre que
c'est pas le bon content-type, fait une petite recherche pour en avoir
la certitude.




<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
22 avril 2005 à 14:03
Non mon fichier ne se trouve pas dans la bdd,

Il est créé à partir d'éléments trouvés dans la bdd

Et donc je suis obligé de le créé d'abord avec

fso = createobject("scripting.FilSystemObject")

myfile = fso.CreateTextFile(server.MapPath(nomfichier))

ensuite je fais :

myfile.WriteLine("le contenu du fichier obtenu après plusieur requete sur le serveur SQL pour récupérer tous les éléments")

myfile.Close



Ensuite ce que je voulais faire c'est envoyé ce fichier au client pour
qu'il le stock dans son pc ou qu'il en fasse ce qu'il veut. Et pour
finir j'aurais voulu supprimer le fichier sur le serveur pour eviter
que ca prenne trop de place apres plusieur création de fichier .







Donc là ce que j'ai fait c'est créé le fichier et rendre visible un lien qui va sur se fichier

Et pour eviter que de nombreux fichiers se trouvent sur le serveur j'ai
mis un nom de fichier fixe (au lieu que ce soit le gars qui choisit le
nom)

Mais il me reste toujours un ptit probleme, le meme que quand je voulais faire un Response.Redirect(fichier.doc)

J'ai l'impression que le fichier est inutilisable pendant un très cours moment!

Je m'explique : Quand je crée et redirige vers le fichier j'ai une erreur sur un parametre date

Quand je crée le fichier et que je rends visible le lien, j'ai le
probleme que si je click trop rapidement sur le lien. Alors que si
j'attends 2 sec et ba ca marche
0
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
22 avril 2005 à 14:04
Et pourtant je n'oubli pas de refermer mon fichier après création (myfile.Close)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 avril 2005 à 14:31
Peut etre que le serveur met deux secondes pour créer ton fichier ...



t'as essayer de mesurer le temps qu'il met pour le créer ?

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
22 avril 2005 à 15:23
Non je n'ai pas essayé de chronométré le temps pour pouvoir accéder au fichier mais de toute facon j'ai l'impression que ce temps est aléatoire
Des fois je click sans attendre sur le lien et j'arrive très bien à télécharger le fichier alors que bien souvent ca plante
Et même des fois j'attends un petit peu et : Erreur !!
Snif snif snif , mais quand est ce que ca marchera bien !?!?!?
0
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
25 avril 2005 à 09:10
Snif plus de réponse
0
cs_Silverd Messages postés 25 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 10 février 2006
26 avril 2005 à 09:34
Bon ba pour mon probleme pour le telechargement du fichier j'ai mis un
sleep(2000) histoire que le bug ne réapparraisse plus mais je ne suis
pas sur que ca suffise

(vu que le temps à l'air d'être aléatoire)
Voila voila
0
Rejoignez-nous