2010-04-16 2 views
0

J'essaie de créer une fonction d'exportation pour qu'un utilisateur puisse télécharger des documents dans un fichier zip. J'ai la fonctionnalité fonctionnant quand les dossiers sont localisés sur mon local et je peux employer un chemin absolu sur mon local. Mais après avoir parlé à l'équipe de l'infrastructure, j'ai découvert que les documents ne sont pas stockés sur la même machine que le serveur Web mais dans une ferme de serveurs située hors site. Je peux interroger la base de données qui me donne un chemin de fichier. Mais le chemin est plus d'un chemin relatif.Comment récupérer des fichiers/documents qui ne se trouvent pas sur la machine du serveur Web

Tout le monde peut-il m'aider à comprendre comment utiliser FileInfo pour obtenir des fichiers d'un autre ordinateur. Je crois que l'équipe d'infrastructure a dit qu'il y avait un disque virtuel installé sur le serveur extérieur. Suis-je capable d'utiliser un chemin virtuel d'une certaine façon? Merci.

Répondre

0

Si le fichier est sur votre réseau local ou VPN, vous pouvez utiliser un chemin UNC.

En règle générale pour les chemins UNC vous accéder au fichier d'un ordinateur en utilisant son partage administratif comme ceci:

\\ ComputerName \ c

$

Vous pouvez utiliser tous les fichiers normal io fonctions travailler avec des chemins UNC. Si vous ne pouvez pas accéder à l'ordinateur parce que vous avez besoin d'authentification, vous devez utiliser l'API Win32 WNetUseConnection via DllImport.

[DllImport("Mpr.dll")] private static extern int WNetUseConnection(
     IntPtr hwndOwner, 
     NETRESOURCE lpNetResource, 
     string lpPassword, 
     string lpUserID, 
     int dwFlags, 
     string lpAccessName, 
     string lpBufferSize, 
     string lpResult 
    ); 

Si le fichier se trouve sur un autre ordinateur, qui est distinct de votre réseau, vous devrez passer par une sorte de serveur tels que FTP ou HTTP qui est hébergé sur la machine distante.

+0

@ Brian- Merci, je veux dire que c'est un VPN. Dès que je pourrai trouver le chemin, je l'essayerai et je vous ferai savoir si cela fonctionne. Merci pour le conseil. – jhorton

Questions connexes