Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ComputerVisionClient Error or Bug - ReadInStreamAsync method: 'Invalid URI format' in Xamarin.Forms

Abierto
#307 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

El issue no menciona ningún archivo ni prueba del repositorio; comienza con la llamada a ComputerVisionClient.ReadInStreamAsync de Xamarin.Forms y el valor informado de stream.Name. Reproduce el error Invalid URI con el stream de MediaPicker proporcionado y, después, verifica que OCR lea la imagen y devuelva texto sin la excepción.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Please provide us with the following information:

This issue is for a: (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
Minimal steps to reproduce

I am capturing a photo and opening a stream using Xamarin.Essentials 1.7 MediaPicker built into Essentials.
When I call the ReadInStreamAsync(stream) method in Computer Vision Client, I get an error and my Xamarin.Forms app breaks inside the method: 'Invalid URI: The format of the URI could not be determined.'
This is the stream.Name value - '/data/user/0/com.companyname.xamphotoappdemo2/cache/2203693cc04e0be7f4f024d5f9499e13/198fd32db9cc4be38a493325974fa138/d964251252fc4963aca94339d73a8007.jpg'

var stream = await file.OpenReadAsync();

chosenImage.Source = ImageSource.FromStream(() => stream);

// 2. Add OCR logic.

var client = Authenticate(ApiSettings.subscriptionKey, ApiSettings.endpoint);

var text = await client.ReadInStreamAsync(stream);

//after the request, get the operation location
string operationLocation = text.OperationLocation;

//we only need the operation ID, not the whole URL
const int numberOfCharsInOperationId = 36;
string operationId = operationLocation.Substring(operationLocation.Length - numberOfCharsInOperationId);

//Get the ocr read results
ReadOperationResult results;
do
{
results = await client.GetReadResultAsync(Guid.Parse(operationId));
}
while ((results.Status == OperationStatusCodes.Running || results.Status == OperationStatusCodes.NotStarted));

var readResults = results.AnalyzeResult.ReadResults;

var expirationDates = from page in readResults
from line in page.Lines
where line.Text.Contains("EXPIRES") && line.Words.Count == 4
select line.Words[3].Text;

expirationDate.Text = expirationDates.ToString();

Any log messages given by the failure
Expected/desired behavior

The text should be read in from the image and display on the Xaml page control.

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions
Mention any other details that might be useful

Thanks! We'll be in touch soon.

Lenguaje dominante
Jupyter Notebook
Estrellas
388
Forks
555
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Azure-Samples/cognitive-services-quickstart-code

Todos los issues de Azure-Samples/cognitive-services-quickstart-code

Issues similares

Más issues de Computer Vision

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.