public async Task <IActionResult> Post([FromForm] IFormFile formFile) { try { if (formFile.Length > 0) { var data = new QRCodeFromFile { Name = formFile.FileName, Size = formFile.Length }; using (data.Stream = new MemoryStream()) { await formFile.CopyToAsync(data.Stream); var result = await _qRCodeProvider.Read(data); return(Ok(result)); } } return(Ok(new { Message = "No file has been uploaded." })); } catch (Exception ex) { return(UnprocessableEntity(ex.Message)); } }
public static GoQRCodeFromFileData ToGoQRCodeFromFileData(this QRCodeFromFile fromFile) { return(new GoQRCodeFromFileData { File = fromFile.Stream, Size = fromFile.Size, Name = fromFile.Name }); }
private static async Task <QRCodeFromFile> LoadQRFromLocalFile(string filePath) { var result = new QRCodeFromFile(); var file = await File.ReadAllBytesAsync(filePath); result.Name = filePath; result.Stream = new MemoryStream(file); return(result); }
async Task <QRCodeData> IQRCodeProvider.Read(QRCodeFromFile data) { var result = new QRCodeData(); var url = BuildReadResourceUri(); var response = await _restClientHelper.PostImageAsync(url, data.ToGoQRCodeFromFileData()); if (response.Success) { result.Data = response.Data.Type; } return(result); }