Установите ImageURL, не зная расширения файла c# - PullRequest
0 голосов
/ 11 июля 2020

У меня есть папка, в которую загружаются изображения, с именем «Photo1», «Photo2» и т. Д. c в зависимости от того, сколько фотографий загружено. На другой панели на той же странице aspx я хочу отобразить загруженные фотографии. Я буду знать имена файлов, но расширение может быть .png, .jpg или .jpeg.

Как я могу установить путь ImageUrl, если я знаю только имя файла, а не расширение?

Вот пример того, как я пытался это сделать до сих пор -

Код страницы ASPX:

<asp:Image ID="Image1" runat="server" />

Скрытый код:

Image1.ImageUrl = Server.MapPath("~/RepairPhotos/" + order_id + "." + unit_id + ".RepairPhoto1.*");

Этот метод говорит, что я использовал недопустимый символ. Хотя я протестировал его, зайдя в папку и найдя расширение, а затем введя строку как:

Image1.ImageUrl = Server.MapPath("~/RepairPhotos/" + order_id + "." + unit_id + ".RepairPhoto1.jpg");

, и это тоже не сработало, так что здесь может быть больше неправильного, чем просто неизвестное символ в месте расширения.

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

string jpg = "~/RepairPhotos/" + order_id + "." + unit_id + ".RepairPhoto1.jpg"
string png = "~/RepairPhotos/" + order_id + "." + unit_id + ".RepairPhoto1.png"
if (File.Exists(Server.MapPath(jpg)))
{

}
else if(File.Exists(Server.MapPath(png)))
{

}
0 голосов
/ 11 июля 2020

Если у вас нет расширения файла, вам может потребоваться прочитать первые несколько байтов этого файла, чтобы определить, в каком формате находится изображение.

Этот фрагмент может помочь: https://gist.github.com/ChuckSavage/dc079e21563ba1402cf6c907d81ac1ca

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...