İnsanlar genellikle ASP.NET kullanarak yüklenen bir dosyanın MIME türünü nasıl algılar? aspx sayfaYüklenen bir dosyanın MIME türünü ASP.NET'te nasıl algılamalıyım?
20
A
cevap
22
: codebehind (C#) 'de
<asp:FileUpload ID="FileUpload1" runat="server" />
: Dosya yeniden adlandırılmış ve yüklenen ise
string contentType = FileUpload1.PostedFile.ContentType
12
Yukarıdaki kod doğru içerik türünü vermeyecektir. aneesh HTTP isteğinin içerik türü doğru olmayabilir olduğunu söyleyerek doğru olsa
o
using System.Runtime.InteropServices;
[DllImport("urlmon.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = false)]
static extern int FindMimeFromData(IntPtr pBC,
[MarshalAs(UnmanagedType.LPWStr)] string pwzUrl,
[MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1, SizeParamIndex = 3)] byte[] pBuffer,
int cbSize,
[MarshalAs(UnmanagedType.LPWStr)] string pwzMimeProposed,
int dwMimeFlags, out IntPtr ppwzMimeOut, int dwReserved);
public static string getMimeFromFile(HttpPostedFile file)
{
IntPtr mimeout;
int MaxContent = (int)file.ContentLength;
if (MaxContent > 4096) MaxContent = 4096;
byte[] buf = new byte[MaxContent];
file.InputStream.Read(buf, 0, MaxContent);
int result = FindMimeFromData(IntPtr.Zero, file.FileName, buf, MaxContent, null, 0, out mimeout, 0);
if (result != 0)
{
Marshal.FreeCoTaskMem(mimeout);
return "";
}
string mime = Marshal.PtrToStringUni(mimeout);
Marshal.FreeCoTaskMem(mimeout);
return mime.ToLower();
}
10
için bu kodu kullanın, ben yönetilmeyen çağrı için manevra değer olduğunu sanmıyorum o. Uzatmadan mime tür eşlemelerine geri dönmeniz gerekiyorsa, kodu System.Web.MimeMapping.cctor'dan (yansıtıcıyı kullan) "ödünç" edin. Bu sözlük yaklaşımı daha fazla ve yerel çağrı gerektirmez.
İlgili konular
- 1. Java'da bir dosyanın mime türünü belirlemenin en iyi yolu?
- 2. Dosya MIME türünü içeriğe göre nasıl belirlenir?
- 3. Yol uzantısı ve MIME dosya türünü hızlı bir şekilde
- 4. PECL uzantısı olmadan PHP5'te yerel bir dosyanın MIME türünü alın?
- 5. MIME türünü dosyaya dönüştürün Uzatma PHP'si
- 6. SQL: MIME Türünü veya Uzantısını Kaydetme?
- 7. JavaScript, mime türünü window.open olarak ayarlayabilir
- 8. BASIC kodu için hangi Mime Türünü kullanmalıyım?
- 9. Yüklenen bir dosyanın MS Word belgesi olduğundan nasıl emin olunur?
- 10. Sadece belgenin mime türünü javascript kullanarak nasıl belirleyebilirim?
- 11. JavaScript'in FileReader arabirimini kullanırken bir dosyanın içerik türünü algılama
- 12. Python'da bir dosya türünü nasıl alabilirim? (Ile url ..)
- 13. Yüklenen dosyanın herhangi bir sunucuda PHP ile çalıştırılmasını nasıl güvenli bir şekilde engellersiniz?
- 14. Urlmon.dll dosyasındaki FindMimeFromData işlevi, birçok dosya türü için MIME türü “application/octet-stream” türünü neden döndürüyor?
- 15. Yüklenen dosyanın boyutlarını toplu halde güvenli bir şekilde nasıl kontrol edilir?
- 16. Yalnızca .NET türünde aşırı yüklenen iki özelliği olan bir .NET türünü nasıl verebilirim?
- 17. Bir dosyanın
- 18. bir dosyanın
- 19. Doğru MIME tipi algılama için kaç bayt gerekir?
- 20. Java'da MIME Türünden uygun dosya uzantısı nasıl belirlenir
- 21. Bir binary dosyanın
- 22. Dosyaya göre MIME türünün ne olduğunu nasıl anlarım?
- 23. Kuvvet video/webm mime türü
- 24. Bir ikili dosyanın içeriğini Clojure'daki bir dizeye nasıl okunur?
- 25. Bir dosyanın bir denetleyiciye nasıl yüklendiğini sınama?
- 26. Bir dosyanın gerçekten bir resim olup olmadığını belirleyin express/node.js
- 27. Chocolatey ile yüklenen bir paketi nasıl kaldırırım?
- 28. Dosyadan yüklenen bir JSON nesnesi nasıl saklanır?
- 29. Yüklenen bir sınıfı classloader'dan nasıl kaldırabilirim?
- 30. Yüklenen bir dosyayı Django'daki PIL görüntüsüne dönüştürme
Bu noktada, System.Web.MimeMapping.GetMimeMapping() işlevi geneldir ve doğrudan çağrılabilir. –