Это то, что вы имели в виду?
variable_x <- c("population", "timepoint", "endpoint")
cat(sprintf("digraph{
graph[layout='dot',outputorder=edgesfirst,overlap=T,rankdir=LR]
b[label='%s=BARI_POP4_5_PRIMARY_CN.csv']
c [label='timepoint=12']
d[label='endpoint=ACR50']
b->c[label='']
c->d[label='']
}", variable_x[1])
)
Вывод:
digraph{
graph[layout='dot',outputorder=edgesfirst,overlap=T,rankdir=LR]
b[label='population=BARI_POP4_5_PRIMARY_CN.csv']
c [label='timepoint=12']
d[label='endpoint=ACR50']
b->c[label='']
c->d[label='']
}
Проверьте файл на известный заголовок . (Информация из ссылки, также упомянутой в этот ответ )
первые восемь байтов файла PNG всегда содержат следующие (десятичные) значения: 137 80 78 71 13 10 26 10
Выезд Система. IO.Path. GetExtension
Здесь является быстрым образцом.
public static readonly List<string> ImageExtensions = new List<string> { ".JPG", ".JPE", ".BMP", ".GIF", ".PNG" };
private void button_Click(object sender, RoutedEventArgs e)
{
var folder = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var files = Directory.GetFiles(folder);
foreach(var f in files)
{
if (ImageExtensions.Contains(Path.GetExtension(f).ToUpperInvariant()))
{
// process image
}
}
}
Посмотрите, помогает ли это .
РЕДАКТИРОВАНИЕ: Кроме того, Изображение. FromFile (....).RawFormat мог бы помочь. Это могло выдать исключение, если файл не является изображением.
Не точно ответ Вам нужно. Но если it’s Интернет тогда тип MIME.
Это - хитрое. Если файлом не будет Изображение, то исключение будет брошенный. От этого мы можем проверить, что файл является изображением или нет.
using (Stream stream = File.OpenRead(file))
{
try
{
using (Image sourceImage = Image.FromStream(stream, false, false))
{
}
}
catch (Exception x)
{
if (x.Message.Contains("not valid"))
{
Console.Write("This is not a Image.");
}
}
}