2010-08-13 10 views
2

Après tout ce que j'ai lu sur ce sujet, je sais qu'il n'y a aucun moyen de télécharger automatiquement des fichiers à partir du navigateur sans une sorte de «permissions élevées». Mais, les autorisations élevées sont quelque chose que j'ai, parce que l'application s'exécute sur l'intranet et l'utilisateur permet actuellement l'accès au contrôle ActiveX qui permet de faire de l'analyse de documents en utilisant COM. Ensuite, un document numérisé enregistré sur le système de fichiers doit être téléchargé.Téléchargement de fichier automatisé à partir du navigateur

Maintenant, la seule exigence du navigateur est la compatibilité IE7 +. Mais avec IE8, la seule façon de définir la valeur <input type="file" ... /> est de cliquer manuellement sur le bouton "Parcourir".

N'existe-t-il vraiment aucun moyen de définir une valeur dans le champ de formulaire d'entrée, même si le site est ajouté à des sites approuvés et que l'accès complet au code ActiveX est activé?

La même chose semble s'appliquer à Flash et Silverlight, la politique de sécurité rend impossible le téléchargement de fichiers sans que l'utilisateur ne le sélectionne manuellement. Silverlight pourrait probablement le faire en mode OOB, mais c'est beaucoup trop interruptif si un utilisateur doit cliquer pour activer le mode hors navigateur à chaque fois.

L'applet ActiveX et Java pourrait probablement le faire. Si l'utilisation de <input type="file" ... /> n'est pas une option, existe-t-il un contrôle ActiveX léger (éventuellement libre/open-source) qui gère le téléchargement à partir du système de fichiers?

mise à jour

Je n'étudié toutes les options tout à fait en profondeur là-bas, et il est avéré que c'est le paradigme du modèle de sécurité qui le rend impossible de ne pas télécharger de fichier automatisé à partir du navigateur sans interaction de l'utilisateur. Cela signifie que l'utilisation doit soit interagir manuellement pour télécharger le fichier ou confirmer un contrôle ActiveX ou un plugin similaire pour faire ce travail. Si vous parvenez à trouver un moyen de télécharger sans plugin spécial avec des autorisations élevées, vous avez probablement trouvé un trou de sécurité, qui sera corrigé prochainement. Cependant, c'est de cette façon que les technologies Web Brower sont conçues pour fonctionner. Comme Jesse l'a souligné, il existe des problèmes de confiance et de licence avec les contrôles ActiveX tiers.

Répondre

5

Vous avez raison de dire que les RIA comme Flash, Silverlight et Java ne le permettent pas pour des raisons de sécurité, et qu'une application de confiance Silverlight OOB fonctionnerait techniquement, mais ne semble pas idéale. Puisque vous recherchez essentiellement un composant qui fera un trou dans le modèle de sécurité Web, je doute que vous trouverez beaucoup de bons composants disponibles sur le marché pour cela (et si vous le faites, je serais suspecte d'eux d'un point de vue de sécurité).

Je vous suggère d'écrire votre propre contrôle ActiveX pour cela, mais assurez-vous de réfléchir aux implications de sécurité. Par exemple, vous voudrez probablement vous assurer que ce contrôle ne peut être utilisé que par des sites web de confiance sur le réseau de votre entreprise - ceci est parfois appelé "verrouillage de site".

Voici une bonne page sur l'écriture de contrôles ActiveX sécurisés: http://msdn.microsoft.com/en-us/library/bb250471(VS.85).aspx