2010-03-06 4 views
0

Je sais que l'utilisateur de mon application a un fichier local nommé c: \ sourcefile.cs, je dois trouver un moyen de rendre un lien vers ce fichier afin que quand il clique sur le lien, il ouvrira le fichier dans Visual Studio .Comment ouvrir un fichier local avec le programme associé à partir d'une page Web?

Ceci est destiné à un usage interne au sein de notre équipe de développement, donc cela ne me dérange pas d'utiliser des moyens non conventionnels pour le faire s'il n'y a pas de façon standard de le faire.

La solution doit fonctionner avec Firefox.

Répondre

0

Vous devrez utiliser une sorte de code binaire (ce qui signifie, non-JavaScript) qui nécessitera plus que probablement une permission explicite de la part de l'utilisateur pour accéder au disque dur du navigateur. Pour FireFox, la manière de faire ceci est à travers un Plugin qui donnera au navigateur la capacité (ou au moins votre plugin la capacité à travers le navigateur) de faire ce que vous voulez, tout en obtenant les permissions de sécurité explicites.

Vous devriez commencer par le API for FireFox plugins et continuer à partir de là. C'est une solution spécifique à FireFox.

Si vous voulez quelque chose qui ne dépend pas du navigateur à un moment donné, vous pouvez envisager d'intégrer une applet Java dans la page. Bien sûr, cela nécessitera des autorisations de l'utilisateur pour que l'applet accède au disque dur, mais cela fonctionnera dans n'importe quel navigateur sur lequel le plugin Java est installé.

1

Ceci n'est pas possible pour des raisons de sécurité. Javascript dans le navigateur ne peut pas accéder à l'ordinateur des clients.

Vous auriez besoin d'utiliser une applet Java ou autre chose de ce genre pour y arriver.

0

Vous pouvez utiliser un lien;

<a href="file:///c:/sourcefile.cs">Open File</a> 

Cela devrait ouvrir le fichier avec l'application par défaut.

+0

Cela fonctionne avec les fichiers html locaux mais pas avec les fichiers .cs –

0

Dernières firefox (3.6) peut-être aider, essayez la recherche "fichier api". Ou vous pouvez utiliser des applets Java.

1

Vous devriez demander aux utilisateurs de votre application (car il est à usage interne) pour changer une option firefox

Tools -> Options -> Applications(tab)

Là, ils devraient associer le .cs à l'action que vous voulez (pour ouvrir la VS) ..

maintenant en utilisant le <a href="file:///c:/sourcefile.cs"> devrait fonctionner ..

[mise à jour]

On dirait que Firefox a supprimé la possibilité d'ajouter une nouvelle mimetype ..

il existe une solution manuelle ..

Vous aurez besoin de trouver le profil firefox (located at: APPDATA% \ Mozilla \ Firefox \ Profiles \ xxxxxxxx.default \)

puis modifiez le fichier mimeTypes.rdf

ajouter l'élément suivant

<RDF:Description RDF:about="urn:mimetype:text/cs" 
        NC:value="text/cs" 
        NC:editable="true" 
        NC:fileExtensions="cs" 
        NC:description="CSharp Source File"> 
    <NC:handlerProp RDF:resource="urn:mimetype:handler:text/cs"/> 
</RDF:Description> 

et aussi trouver les <RDF:Seq RDF:about="urn:mimetypes:root"> existants et ajouter le

<RDF:li RDF:resource="urn:mimetype:text/cs"/> 

Maintenant, vous pouvez le modifier avec l'onglet applications comme indiqué précédemment.

+0

Existe-t-il un chemin à travers ce dialogue pour spécifier uniquement les fichiers locaux? –

+0

Cela * serait * une bonne solution. Mais je ne trouve pas comment ajouter des types * à l'onglet Application. – Sylvain

+0

mise à jour réponse pour offrir un moyen d'ajouter aux types .. –

Questions connexes