Это моя ссылка action на индексном представлении.Ошибка в пути к файлу загрузки в контроллере mvc
@Html.ActionLink("Download File", "Download", new { fileName = Model.OriginalRecordRelativeFilePath })
public FileResult Download(string fileName)
{
try
{
var fs = System.IO.File.OpenRead(Server.MapPath(ConfigurationHelper.IntegrationInterfaceFolderPath + fileName));
// ConfigurationHelper.IntegrationFolderPath is a path for C:\Data\IntergrationInterface\
return File(fs, "application/octet-stream", fileName);
}
catch
{
throw new HttpException(404, "Couldn't find " + fileName);
}
}
Я пытаюсь скачать файл из C: \ Data \ IntergrationInterface \ имя_файла. Но он не может найти путь к C: \ Data \ IntergrationInterface \ имя_файла и исключение исключения (Couldnt find fileName). Могу ли я узнать, есть ли способы загрузить файл из локального c при запуске веб-службы localhost на том же компьютере? Спасибо.
Исключением не является. Существует ли файл? Проверьте путь, желательно, сохраняя его в отдельной переменной. Выполняется ли пользователь этим сайтом так же, как есть разрешения на чтение файла? – CodeCaster
Да. Файл существует. Я создал фиктивный файл с именем path в C: \ Data \ IntergrationInterface \ path. пользователь этот сайт закодирован как системный администратор. Поэтому у него есть разрешение на чтение файла. – AhYap
Измените код на 'string path = ConfigurationHelper.IntegrationInterfaceFolderPath + fileName; path = Server.MapPath (путь); var fs = System.IO.File.OpenRead (путь); '. Осмотрите переменные на каждом шаге. – CodeCaster