Télécharger/fichier de Flux à partir de l'URL - asp.net

J'ai besoin de diffuser un fichier qui aura pour conséquence la sauvegarde rapide dans le navigateur.
La question est, le répertoire dans lequel se trouve le fichier est pratiquement mappé, donc je ne peux pas utiliser de Serveur.MapPath afin de connaître son emplacement réel. Le répertoire n'est pas au même endroit (ou même physiques du serveur sur la live box) que le site web.

Je voudrais quelque chose comme ce qui suit, mais qui va me permettre de passer une URL de site web, et non sur un serveur de fichier chemin d'accès.

J'ai peut-être pour la fin de la création de mon chemin de fichier à partir d'une config chemin d'accès de base, puis ajouter le reste du chemin, mais j'espère que je peux le faire de cette façon au lieu.

var filePath = Server.MapPath(DOCUMENT_PATH);

if (!File.Exists(filePath))
    return;

var fileInfo = new System.IO.FileInfo(filePath);
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", String.Format("attachment;filename=\"{0}\"", filePath));
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.WriteFile(filePath);
Response.End();
  • Pouvez-vous élaborer un peu sur ce que tu veux dire par "pratiquement mappé"? Un virtuel IIS dossier accessible par les Url?
  • C'est à l'aide d'une VPP de chemin d'accès, qui est un concept d'utilisation par EpiServer CMS Nous avons configuré le chemin d'accès virtuel nom (c'est à dire "/documents/"), et alors préciser ce chemin d'accès physique cela devrait carte de trop (j'.e "//servername/documents"). Le système crée alors cette référence au répertoire au moment de l'exécution. Vous pouvez accéder aux fichiers via le web, les URL sans problème
  • Le nom de fichier est en effet accessibile via l'URL. J'ai besoin d'utiliser cette URL pour transmettre le fichier, et non pas le chemin d'accès au serveur, comme je suis incapable de dertmine ce à partir de l'URL (à l'aide de MapPath)
  • Si vous connaissez l'URL et de l'extension de fichier s'ouvre l'enregistrer comme invite dans le navigateur (ou est-ce l'un de vos problèmes?), vous pourriez peut-être rediriger la demande vers le fichier que vous souhaitez télécharger? Sinon, user97970 la suggestion semble être la voie à suivre.
InformationsquelleAutor mp3duck | 2011-04-08