2009-04-28 5 views
1

J'ai besoin de télécharger deux fichiers Excel sur le client, puis exécutez un (diff) exécutable contre eux. Je sais comment télécharger un seul fichier Excel, à partir de here. Mais comment en télécharger un second automatiquement de suite? Et puis comment exécuter une commande par lots sur eux? Est-ce que c'est même réaliste? Toute orientation ou pointeurs seraient grandement appréciés.À partir de ASP.NET, Comment télécharger deux fichiers Excel et invoquer commande batch sur eux?

Merci,
Mike

Répondre

1

Pour télécharger plusieurs fichiers à la fois, vous avez deux options principales:

1) fenêtres multiples Il suffit d'ouvrir à votre script de génération de page pour télécharger plusieurs fichiers comme par http://www.webdeveloper.com/forum/showpost.php?s=b4f6b25edeb6b7ea55434c4685a675fe&p=950225&postcount=6

2) archiver les fichiers dans un paquet (zip/arj/7z etc.) et envoyer l'archive au client. par ex. En ce qui concerne le côté client diff, c'est beaucoup plus compliqué, comme Shhnap l'a déjà mentionné. Si vous le faites pour une base de clients contrôlée, vous pouvez être en mesure d'obtenir les autorisations pour un script ActiveX qui exécute quelque chose côté client. (Ou déclenchez une application de console) - mais si vous n'avez pas un contrôle fin sur l'environnement client, je ne peux pas penser à un moyen de le faire.

Comme Shhnap suggéré pouvez-vous pas juste le côté serveur de comparaison (puis l'envoyer au client en tant que troisième fichier?)

+0

Juste pour le bien de l'argument, quels seraient les inconvénients de faire le travail côté serveur? Je veux comprendre toutes les options. Grande réponse au passage. – Mike

+0

Seul un je peux penser est une plus grande charge sur le serveur (bien que si les fichiers ne changent pas souvent vous pouvez mettre en cache les diffs). – mundeep

1

Eh bien, juste quelques conseils parce que je ne suis pas sûr que je comprends complètement le problème. Vous un utilisateur à recevoir deux téléchargements en même temps, puis exécutez une commande diff contre ces deux fichiers? Sur le serveur ou le client je ne suis pas sûr? Vous aurez beaucoup de problèmes à automatiser la version côté client, car forcer les gens à exécuter du code côté client est généralement mal vu par un logiciel de protection antivirus.

Le diff côté serveur ressemble exactement à un moment CGI: http://www.cs.tut.fi/~jkorpela/perl/cgi.html. Cela vous permettra de générer une page web qui montre le diff entre les deux. CGI vous permet d'exécuter des programmes sur votre serveur et d'afficher leur sortie sur une page Web; C'est l'explication simple.

Si ce n'était pas tout à fait ce que vous vouliez alors n'hésitez pas à me donner un commentaire et je vais essayer de modifier pour répondre correctement.

+0

> Vous un utilisateur à donner deux téléchargements en même temps et puis exécutez une commande diff contre ces deux fichiers? Oui. > Sur le serveur ou le client je ne suis pas sûr? Tout doit s'exécuter sur le client. – Mike

+0

Pour des raisons de confiance, vous ne seriez pas en mesure d'exécuter les choses du côté client avec facilité. Par côté client, je veux dire la personne qui utilise votre site Web. Souhaitez-vous laisser quiconque créer un site Web exécuter du code sur votre ordinateur? C'est pourquoi je suggère d'essayer de tout faire sur votre serveur et d'utiliser javascript seulement pour faire du travail côté client si vous le devez. –

+0

Mais casser un client est beaucoup mieux que de casser le serveur. – Mike