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