12 EYLÜL 2008, Cuma
Kullanarak .NET, nasıl bir dosya imza dayalı mıme tipi uzantısı olmaz mı
Basit bir şekilde dosya uzantısını yanlış veya verilmez, bir şey this question benzer sadece içinde bulunduğu bir mıme türü almak için arıyorum .Net.
CEVAP
15 EYLÜL 2008, PAZARTESİ
Sonunda urlmon.dll kullandım. Daha kolay bir yolu yok ama bu işe yarar diye düşündüm. Herkesten Yardım ve bana eğer istersem tekrar bulmak için izin vermek için kodu vardır.
using System.Runtime.InteropServices;
...
[DllImport(@"urlmon.dll", CharSet = CharSet.Auto)]
private extern static System.UInt32 FindMimeFromData(
System.UInt32 pBC,
[MarshalAs(UnmanagedType.LPStr)] System.String pwzUrl,
[MarshalAs(UnmanagedType.LPArray)] byte[] pBuffer,
System.UInt32 cbSize,
[MarshalAs(UnmanagedType.LPStr)] System.String pwzMimeProposed,
System.UInt32 dwMimeFlags,
out System.UInt32 ppwzMimeOut,
System.UInt32 dwReserverd
);
public static string getMimeFromFile(string filename)
{
if (!File.Exists(filename))
throw new FileNotFoundException(filename " not found");
byte[] buffer = new byte[256];
using (FileStream fs = new FileStream(filename, FileMode.Open))
{
if (fs.Length >= 256)
fs.Read(buffer, 0, 256);
else
fs.Read(buffer, 0, (int)fs.Length);
}
try
{
System.UInt32 mimetype;
FindMimeFromData(0, null, buffer, 256, null, 0, out mimetype, 0);
System.IntPtr mimeTypePtr = new IntPtr(mimetype);
string mime = Marshal.PtrToStringUni(mimeTypePtr);
Marshal.FreeCoTaskMem(mimeTypePtr);
return mime;
}
catch (Exception e)
{
return "unknown/unknown";
}
}
Bunu Paylaş:
Dosya kullanır .md uzantısı ve bunları...
Nasıl PHP bir dosya uzantısı ayıklamak...
Nasıl HTTP üzerinden bir dosya Python ...
Nasıl bir dosya adı kullanarak uygun b...
Nasıl bir SQL import MySQL Komut satır...