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 de cela.
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();