Télécharger le pdf par programmation
Comment puis-je télécharger un fichier PDF et de les stocker sur le disque à l'aide de vb.NET ou C#?
L'URL (PDF) a une certaine rediection passe avant le PDF final est atteint.
J'ai essayé de le ci-dessous, mais le PDF semble endommagé lorsque je tente d'ouvrir localement,
Dim PdfFile As FileStream = File.OpenWrite(saveTo)
Dim PdfStream As MemoryStream = GetFileStream(pdfURL)
PdfStream.WriteTo(PdfFile)
PdfStream.Flush()
PdfStream.Close()
PdfFile.Flush()
PdfFile.Close()
Pouvez-vous montrer le GetFileStream() de la fonction ainsi?
Il n'y a pas besoin d'appeler la méthode Flush() si vous allez appeler Close().
Télécharger le pdf lui-même corrompu? Le code que j'ai posté fonctionne pour l'IRS en format pdf. Autre configuration que je pense est d'utiliser le WebClients DownloadData de la méthode et de l'écriture en byte[] sur le disque ensuite.
Ainsi, la taille des pdf est de 4 ko donc c'est définitivement pas téléchargé correctement.
Ok, le problème semble être la redirection. Si j'ai coder en dur la fin de l'url (l'url du pdf après la redirection complète), puis il travaille (en utilisant la méthode downloaddata). La difficulté est de savoir comment dois-je m'assurer que le document est téléchargé après redirection complète??
Il n'y a pas besoin d'appeler la méthode Flush() si vous allez appeler Close().
Télécharger le pdf lui-même corrompu? Le code que j'ai posté fonctionne pour l'IRS en format pdf. Autre configuration que je pense est d'utiliser le WebClients DownloadData de la méthode et de l'écriture en byte[] sur le disque ensuite.
Ainsi, la taille des pdf est de 4 ko donc c'est définitivement pas téléchargé correctement.
Ok, le problème semble être la redirection. Si j'ai coder en dur la fin de l'url (l'url du pdf après la redirection complète), puis il travaille (en utilisant la méthode downloaddata). La difficulté est de savoir comment dois-je m'assurer que le document est téléchargé après redirection complète??
OriginalL'auteur Perplexed | 2010-05-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer d'utiliser le client web (System.Net espace de noms) en classe pour faire ce qui permettra d'éviter tout flux de travaux de votre côté.
Le code C# suivant attrape un formulaire IRS et le sauve C:\Temp.pdf.
GetFileStream fonction: Fonction Protégée GetFileStream(ByVal URL as String) as MemoryStream Dim _url as String = URL Dim _wb Que WebClient = New WebClient Dim myBuffer() as Byte Dim _str Comme MemoryStream = Rien d'Essayer myBuffer = _wb.DownloadData(_url) _str = New MemoryStream(myBuffer) Catch ex Exception _str = Nothing End Essayez de Retour _str Fin de la Fonction
Cela peut fonctionner. et assurez-vous que u définir la sécurité de l'autorisation de IISUSER si vous mettez ur le code de la page web.
OriginalL'auteur Pat
Vous pouvez également essayer l'exemple de code suivant pour télécharger les fichiers pdf
OriginalL'auteur Raaghav