2010-04-30 5 views
2

J'essaye (HTTP) de télécharger un fichier binaire par programme depuis VBA. J'ai l'intention de mettre une page ASPX sur le serveur pour accepter le fichier et certains paramètres supplémentaires.Télécharger le fichier via HTTP à partir de VBA (WinHTTP)

Je sais qu'il y a beaucoup de bonnes façons de le faire (par exemple utiliser le service web au lieu de aspx), mais ma contrainte est qu'il doit s'exécuter dans VBA (dans un fichier Excel) et que je ne peux pas installer de composants supplémentaires sur le client. Je suppose que je vais utiliser WinHTTP, et j'ai trouvé plusieurs exemples pour publier des données de formulaire, mais pas pour publier un fichier binaire. J'ai probablement besoin de base64 le contenu du fichier?

Mes questions sont les suivantes:

  • Est-ce que je dois faire le codage manuellement ou puis-je faire WinHTTP faire?
  • Existe-t-il un meilleur utilitaire à utiliser que WinHTTP? (Rappelez-vous que je ne veux pas installer de logiciel supplémentaire, il doit être livré avec WinXP Pro, Office 2007 ou un framework .NET, par exemple)
  • Existe-t-il une meilleure façon de procéder, par exemple. utilisant des services Web ASP.NET?

Thx, chiccodoro

Répondre

1

Vous peut utiliser base64, mais l'écriture généralement binaire est plus facile. L'obstacle que vous devez franchir est la construction d'un POST multi-pair/form valide. Ceci est complètement possible en utilisant WinHTTP, bien que je ne l'ai pas fait depuis des années et que je ne suis pas outillé pour fournir un exemple de code, ce n'est pas trivial.

Vous pouvez référencer les articles suivants pour obtenir des exemples de la façon de le faire avec C# HttpWebRequest. L'API WinHTTP est un peu différente bien sûr mais les points saillants à retenir des articles sont la structure du corps POST.

En général, je fournir des exemples de code, mais comme je l'ai dit, je ne pas avoir d'outils de pierre-âge mis en place pour le moment ;-).

HTH

+0

Oui, la vie comme un homme de Neandertal est difficile :-) Merci pour les liens, votre message sur « C# File Télécharger avec des champs de formulaire, les cookies et les en-têtes » semble en effet très intéressant. – chiccodoro

Questions connexes