asp.net - Uddrag Windows Filegenskaber med http link

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder på dette problem, og den foreslåede løsning virker for mig.


Men nu skal jeg gøre dette arbejde i min aktuelle ansøgning, som er en AWS Beanstalk. NET webapplikation. Min beanstalk ansøgning kender url kilden til billedet. Kendskab til url, jeg kan få en stream og behandle filen (ved at oprette et byte array og endda et Bitmap objekt). [7]


Det ser imidlertid ud til, at man får filegenskaberne som nævnt ovenfor (f.eks. Kameratypen eller malingsprogrammet, der oprettede filen), jeg har virkelig brug for en lokal fil, fordi det er det forventede input argument.


Dette er et problem for mig. Jeg kender http-linket, jeg kender bytes, men jeg har ikke noget som en filsti.


Hvordan kan jeg løse dette? Jeg har brug for Windows-filegenskaberne.

Bedste reference


Hvis jeg forstod dig korrekt, vil du gerne læse billedmetadata fra en webadresse uden at gemme den til en fil først, dvs. direkte fra internettet.


Her er en måde, der virker for mig:


string demoImageUrl = "https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/Canon\_40D.jpg";

byte[] imgData = null;

using (var wc = new WebClient())
{
    imgData = wc.DownloadData(demoImageUrl);
}

using (var sr = new MemoryStream(imgData, false))
{
    BitmapSource image = BitmapFrame.Create(sr);
    BitmapMetadata md = (BitmapMetadata)image.Metadata;
    string comment = md.Comment;
    string title = md.Title;
    string dateTaken = md.DateTaken;
}


Du skal tilføje henvisninger til PresentationCore og WindowsBase samlinger og også indeholde følgende navneområde:


using System.Windows.Media.Imaging;


Resultat [8]