मेरे पास ASP.NET कोर एप्लिकेशन है और मुझे यह सत्यापित करने की आवश्यकता है कि अपलोड की गई फ़ाइल एक छवि है न कि एक गैर-छवि फ़ाइल जिसमें एक छवि एक्सटेंशन है .... सभी समाधान जो मुझे मिले और समझ में आए System.Drawing.Image का उपयोग करें या इसी तरह की कक्षाएं जो ASP.NET Core में उपलब्ध नहीं हैं। क्या आप कृपया कोई विकल्प सुझा सकते हैं? * कृपया ध्यान दें कि मैं एक्सटेंशन की जांच करने की कोशिश नहीं कर रहा हूं लेकिन सामग्री।

शुक्रिया

5
Techy 16 फरवरी 2017, 21:44
 – 
Uğur Gümüşhan
23 फरवरी 2017, 19:43

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;
}
1
Anatolyevich 10 जिंदा 2019, 10:30

यदि आपके पास सर्वर पर निष्पादन योग्य चलाने के विशेषाधिकार हैं तो आप इमेजमैजिक की पहचान कमांड का उपयोग कर सकते हैं। यह बहुत काम है। आपको सर्वर पर इमेजमैजिक स्थापित करने की आवश्यकता होगी और निष्पादन योग्य चलाने के लिए अनुमतियों की आवश्यकता होगी।

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

0
Uğur Gümüşhan 20 फरवरी 2017, 01:56