Привет, я довольно долго искал это, но я не нашел ситуацию, которая действительно напоминала бы мою ... надеюсь, я не пропустил где-нибудь дубликат
Цель: вернуть файл изобщий ресурс UNC для клиента в качестве опции загрузки / открытия.
Информация: общий ресурс расположен на сервере, отличном от того, на котором размещен веб-сайт.При щелчке по соответствующему имени папки в меню я могу успешно прочитать из общей папки (я возвращаю файлы как результат JSON), а в Jquery я добавляю элементы списка для каждого файла, найденного в папке, и делаю элемент спискаID это имя файла.Это прекрасно работает.
Когда щелкают эти элементы добавленного списка, я передаю их идентификаторы (которые представляют собой имя файла, например, "thefile.pdf") следующему контроллеру, который возвращает FileContentResult.
files[0].ToString()
ниже аналогично "\ server \ folder \"
public ActionResult OpenTheFile(string id)
{
List<string> files = new List<string>();
files.AddRange(Directory.GetFiles(LNFiles.ThePath, id, SearchOption.AllDirectories));
Response.AppendHeader("Content-Disposition", "attachment; filename=" + id + ";");
return File(files[0].ToString(), System.Net.Mime.MediaTypeNames.Application.Pdf, id);
}
И да, обязательно "работает на моей локальной машине".При развертывании на сервере IIS 7.5 и нажатии на элемент списка появляется ошибка YSOD:
Неверный дескриптор.(Исключение из HRESULT: 0x80070006 (E_HANDLE))
Я выдаю себя за пользователя с правами на общий файловый ресурс ... Я в растерянности, я что-то думал с кодировкой или испортилправа?Я попытался использовать виртуальный каталог вместо этого, но увы та же проблема.