2013-09-23 3 views
0


Je crée une page Web avec une option de téléchargement

lorsque l'utilisateur clique sur l'option de téléchargement, il obtient trois optionsDésactiver Enregistrer et enregistrer sous tout en téléchargeant un fichier ASP.NET

  • Ouvert
  • Enregistrer
  • Enregistrer sous

Je veux juste l'utilisateur de voir

  • Ouvrir

J'utilise ASP.NET 4
Merci Vous

P.S. J'ai essayé google mais pas bon

+0

Je suppose que le problème est que lorsque l'utilisateur clique sur Enregistrer sous, il n'économise pas ce que vous indiquez, si tel est le cas, résolvez ce problème directement, et non en désactivant quelque chose dans le navigateur. – Giedrius

+0

si elle est désactivée cela fonctionnera pour moi –

Répondre

0

Vous ne pouvez pas faire cela, ce serait un risque de sécurité. Je pense que la prochaine meilleure chose est d'avoir l'utilisateur enregistrer une application à un système d'uri, c'est quelque chose qui doit être configuré sur le PC client à travers le registre. (pour Windows)

Bien sûr, cela signifie que votre application doit également prendre en charge cette fonctionnalité. Vous pouvez voir comment cela fonctionne ici:

http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

La meilleure chose est d'avoir ce registre lorsque l'application installe trough l'installateur, sinon vous pouvez fournir un exécutable pour modifier le registre, ou le faire manuellement sur chaque ou demandez à l'utilisateur de télécharger un fichier exécutable à partir du site, ce qui est faisable.

Si vous développez l'application client, vous pouvez aller dans l'autre sens et l'interroger sur le serveur Web, mais il s'agit bien sûr d'une solution plus évoluée.

+0

Donc, ce n'est pas possible –

+0

Pas avec javascript ou avec la fonctionnalité standard du navigateur, vous pouvez toujours recourir à Flash ou Java pour que cela fonctionne. –

+0

ce que j'ai à ajouter dans le registre –

0

En fonction du type de fichier que vous servez, vous pourrez peut-être ajouter l'en-tête suivant au message de réponse:

content-disposition: inline 

code:

Response.AddHeader("content-disposition", "inline") 

Ceci indiquera au navigateur pour ouvrir le fichier immédiatement au lieu d'afficher la boîte de dialogue. Mais cela ne fonctionnera que si le navigateur supporte le type de fichier.

0

Enregistrer, Enregistrer sous, Ouvrir sont les options de votre navigateur. Vérifiez dans différents navigateurs et vous verrez différentes options. Enfer, je pourrais faire un navigateur avec "Hit", "Hit Me", "Hit Me Again" et "Take A Look" options. Vous ne pouvez pas les contrôler depuis votre code asp.net.

Le mieux que vous pouvez faire à partir de votre code est de demander à votre navigateur pour afficher le contenu en-ligne ou téléchargé comme une pièce jointe en utilisant:

Response.AddHeader (« content-disposition », « pièce jointe; filename = un fichier.pdf ")

ou

Response.AddHeader ("-de disposition de contenu », "en ligne")

La première option déclenchera les options de téléchargement de votre navigateur (dans votre cas afficher les boutons Enregistrer, Enregistrer sous et Ouvrir.) Dans mon cas, Chrome enregistrera automatiquement le fichier sans me demander quoi que ce soit

La deuxième option ouvrira directement le fichier, mais UNIQUEMENT si le navigateur identifier directement le type de contenu du contenu téléchargé et s'il peut l'afficher.

Par exemple, pour un fichier PDF, vous devez définir:

Response.ContentType = "application/pdf";

et vous devez avoir Acrobat Reader si vous utilisez des navigateurs plus anciens ou vous devez utiliser un navigateur plus récent qui a déjà un plug-in PDF installé (IE7 +, Chrome, etc ...)

J'espère CA aide.

Questions connexes