У меня есть веб-интерфейс API, как:Получить расширение файла и объединить полный путь
[Route("api/fileupload/{name}")]
public string GetFileWithExtension(string name)
{ private readonly string _recipientsExcelFilesPath = System.Web.Hosting.HostingEnvironment.MapPath(
WebConfigurationManager.AppSettings["RecipientsExcelFiles"]);
// _recipientsExcelFilesPath gives absolute URL to the directory
// name property is a name of file
// I would like here get absoulute url + path
**C:\Code\MyProject\Project.WebApi\Data\MyExcelFiles.xlsx**
}
Так в основном, этот метод принимает имя файла и должен возвращать полный путь к этому файлу, сохраненный на локальном компьютере + расширение.
В Web API конфигурации У меня есть что-то вроде:
<appSettings>
<add key="RecipientsExcelFiles" value="~\\Data\\RecipientsExcelFiles\\" />
</appSettings>
Um, файл 'C: \ Code \ MyProject \ Project.WebApi \ Data \ MyExcelFiles' * не имеет * без расширения. Откуда вы ожидаете получить значение '.xlsx'? –
Просто потому, что у вас не было знакомых расширений на вашем телезрителе, ОС и все остальное знали, что он получил расширение. – BugFinder
Если вы уверены, что «абсолютный URL» всегда будет иметь имя файла в конце без расширения. Вы можете подняться на один уровень с помощью разделителя путей и перечислить файлы в этом каталоге, а затем сопоставить с именем файла, а затем извлечь действующее расширение? –