im пытается выяснить, не является ли файл без расширения изображением, но, похоже, он прав. Я знаю его определенно образ, потому что я могу открыть его в маске ms. Вот мой код все равноОбнаруживать, если файл без расширения - это изображение
private bool IsImage(Stream stream)
{
stream.Seek(0, SeekOrigin.Begin);
List<string> jpg = new List<string> { "FF", "D8" };
List<string> bmp = new List<string> { "42", "4D" };
List<string> gif = new List<string> { "47", "49", "46" };
List<string> png = new List<string> { "89", "50", "4E", "47", "0D", "0A", "1A", "0A" };
List<List<string>> imgTypes = new List<List<string>> { jpg, bmp, gif, png };
List<string> bytesIterated = new List<string>();
for (int i = 0; i < 8; i++)
{
string bit = stream.ReadByte().ToString("X2");
bytesIterated.Add(bit);
bool isImage = imgTypes.Any(img => !img.Except(bytesIterated).Any());
if (isImage)
{
textBox1.Text = "is image";
return true;
}
}
textBox1.Text = "is not image";
return false;
}
private void button1_Click(object sender, EventArgs e)
{
string filepath = @"C:\Users\William\Documents\drivers\2";
MemoryStream mStrm = new MemoryStream(Encoding.UTF8.GetBytes(filepath));
IsImage(mStrm);
}
также игнорируют, что его в файле с именем драйвера, файл не является драйвером или что-нибудь
здесь: http://stackoverflow.com/questions/9354747/how-can-i-determine-if-a-file-is-an-image-file-in-net –
Это выглядит многообещающим, больным посмотрите, спасибо – Will
Какое сообщение об ошибке вы получаете? – Coding4Fun