मेरे पास ASP.NET कोर एप्लिकेशन है और मुझे यह सत्यापित करने की आवश्यकता है कि अपलोड की गई फ़ाइल एक छवि है न कि एक गैर-छवि फ़ाइल जिसमें एक छवि एक्सटेंशन है .... सभी समाधान जो मुझे मिले और समझ में आए System.Drawing.Image का उपयोग करें या इसी तरह की कक्षाएं जो ASP.NET Core में उपलब्ध नहीं हैं। क्या आप कृपया कोई विकल्प सुझा सकते हैं? * कृपया ध्यान दें कि मैं एक्सटेंशन की जांच करने की कोशिश नहीं कर रहा हूं लेकिन सामग्री।
शुक्रिया
2 जवाब
अब "System.Drawing.Common" NuGet .NET Core के लिए उपलब्ध है।
आप "संभावित" छवियों को सत्यापित करने के लिए निम्न कार्य कर सकते हैं:
using System.Drawing;
// ...
public bool IsImage(byte[] data)
{
var dataIsImage = false;
using (var imageReadStream = new MemoryStream(data))
{
try
{
using (var possibleImage = Image.FromStream(imageReadStream))
{
}
dataIsImage = true;
}
// Here you'd figure specific exception to catch. Do not leave like that.
catch
{
dataIsImage = false;
}
}
return dataIsImage;
}
यदि आपके पास सर्वर पर निष्पादन योग्य चलाने के विशेषाधिकार हैं तो आप इमेजमैजिक की पहचान कमांड का उपयोग कर सकते हैं। यह बहुत काम है। आपको सर्वर पर इमेजमैजिक स्थापित करने की आवश्यकता होगी और निष्पादन योग्य चलाने के लिए अनुमतियों की आवश्यकता होगी।
https://www.imagemagick.org/script/identify.php
आपको प्रोग्राम को कॉल करना होगा और उसे इमेज फाइल देनी होगी
C# में exe फ़ाइलों को कैसे कॉल करें: https:/ /msdn.microsoft.com/en-us/library/0w4h05yb(v=vs.110).aspx
प्रक्रिया आउटपुट कैसे पढ़ें: https://msdn.microsoft.com/en-us/library/system.diagnostics.process.beginoutputreadline(v=vs.110).aspx
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।