Мне нужно передать файл, который приведет к сохранению как подсказка в браузере. Проблема в том, что каталог, в котором находится файл, фактически сопоставлен, поэтому я не могу использовать Server.MapPath, чтобы определить его фактическое местоположение. Каталог не находится в том же месте (или даже физическом сервере в ящиках) в качестве веб-сайта.
Мне бы хотелось что-то вроде следующего, но это позволит мне передать веб-URL, а не путь к файлу сервера.
Мне, возможно, придется создать путь к файлу из базового пути конфигурации, а затем добавить на оставшуюся часть пути, но, надеюсь, я могу сделать это таким образом.
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();