Как преобразовать полученный со страницы браузера файл в Bitmap

Со страницы отправляю на сервер файл с изображением:

    function RequestUploadImage(fileSource) {
    var data = new FormData();
    var files = $('#' + fileSource).get(0).files;
    // Add the uploaded image content to the form data collection
    if (files.length > 0) {
        data.append("UploadedFile", files[0]);
    }

    data.append("infoFile","No info");  //Other data
    $.ajax({
        type: "POST",
        url: "/api/FileApi/uploadFileQRCode",
        contentType: false,
        processData: false,
        data: data,
        success: function (response) {
            alert('File uploaded');
            console.log(response);
        },
        error: function (result, status, er) {
            alert("error: " + result + " status: " + status + " er:" + er);
        }
    });
};

На сервере обрабатываю данный запрос контроллером:

[HttpPost("uploadFileQRCode")]
        public async Task<IActionResult> UploadFileQRCode()
        {
            if (HttpContext.Request.Form.Files.Count > 0)
            {
                try
                {
                    foreach (var file in HttpContext.Request.Form.Files)
                    {
                        if (file != null)
                        {
                            //Image imageFromFile=file.OpenReadStream;
                            //Bitmap bitmap = new Bitmap(imageFromFile);
                            //QRcodeServices.DecoderFromImage(bitmap);
                        }
                    }
                }
                catch (Exception ex)
                {
                }
            }
            return Ok("");
        } 

Как можно на сервере извлечь получить из полученного файла изображение Image и преобразовать его потом в Bitmap?

Bitmap из библиотеки System.Drawing, он нужен для того, чтобы декодировать qr код с изображения полученного с камеры. Декодирование происходит с использованием библиотеки ZXing в следующей статической функции:

public static string DecoderFromBitmap(Bitmap image)
        {
           
            var options = new DecodingOptions { PossibleFormats = new List<BarcodeFormat> { BarcodeFormat.QR_CODE }, TryHarder = true };

            using (image)
            {
                //use GlobalHistogramBinarizer for best result
                var reader = new BarcodeReader(null, null, ls => new GlobalHistogramBinarizer(ls)) { AutoRotate = false, TryInverted = false, Options = options };
                var result = reader.Decode(image);
                reader = null;

                return result.Text;
            }
        }

Ответы (0 шт):