Xamarin.forms: [Android، PCL] - ImageLoaderSourceHandler: تعذر استرداد الصورة أو كانت بيانات الصورة غير صالحة

تم إنشاؤها على ١٣ فبراير ٢٠١٨  ·  3تعليقات  ·  مصدر: xamarin/Xamarin.Forms

وصف

  • على Android ، باستخدام أحدث النماذج ومشروع PCL ... XAML ImageCell مع مهلة ImageSource may المشفرة وإرجاع خطأ.

  • يبدو أنه يعمل كما هو متوقع مع حلول مشتركة أو .NET Standard

  • تم اختباره فقط في المحاكاة

<ImageCell
    ImageSource="https://www.xamstatic.com/dist/images/pages/platform/visual-studio-icon-uHIZMvQl.png"
    Text="{Binding Name}"
    Detail="{Binding Job}">
</ImageCell>
Image Loading: Error getting stream for https://www.xamstatic.com/dist/images/pages/platform/visual-studio-icon-uHIZMvQl.png: System.Threading.Tasks.TaskCanceledException: A task was canceled.
...
[0:] ImageLoaderSourceHandler: Could not retrieve image or image data was invalid: Uri: https://www.xamstatic.com/dist/images/pages/platform/visual-studio-icon-uHIZMvQl.png

خطوات التكاثر

  1. باستخدام الريبو أدناه ، قم بتحميل عينة PCL
  2. يركض
  3. يجب أن ترى قائمة ImageCell مع أيقونة Visual Studio
  4. تحقق من الإخراج بحثًا عن خطأ وانتهاء المهلة
  5. لم يحدث خطأ؟ قم بإلغاء تثبيت التطبيق وحاول مرة أخرى.

سلوك متوقع

يتم تحميل جميع الصور ، كما هو الحال في الحلول المشتركة وحلول .NET Standard


السلوك الفعلي

رابط لسجل الإخراج الكامل

[0:] Image Loading: Error getting stream for https://www.xamstatic.com/dist/images/pages/platform/visual-studio-icon-uHIZMvQl.png: System.Threading.Tasks.TaskCanceledException: A task was canceled.
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00026] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Net.Http.HttpClientHandler+<SendAsync>d__63.MoveNext () [0x00528] in <35658e59c86d40bdbb2ef0bb34b4f0c7>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0001a] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Net.Http.HttpClient+<SendAsyncWorker>d__49.MoveNext () [0x000ca] in <35658e59c86d40bdbb2ef0bb34b4f0c7>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0001a] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at Xamarin.Forms.Forms+AndroidPlatformServices+<GetStreamAsync>d__16.MoveNext () [0x0003e] in D:\agent\_work\2\s\Xamarin.Forms.Platform.Android\Forms.cs:448 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0001a] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at Xamarin.Forms.UriImageSource+<GetStreamAsyncUnchecked>d__23.MoveNext () [0x00224] in D:\agent\_work\2\s\Xamarin.Forms.Core\UriImageSource.cs:174 
[0:] ImageLoaderSourceHandler: Could not retrieve image or image data was invalid: Uri: https://www.xamstatic.com/dist/images/pages/platform/visual-studio-icon-uHIZMvQl.png

معلومات اساسية

رابط الاستنساخ

https://github.com/mattregul/XF_ImageCellIssue

regression Android bug

التعليق الأكثر فائدة

وجه الفتاة! لا يمكن العثور على هذه الصفحة.

يعمل عنوان url هذا بشكل أفضل (في وقت الكتابة): https://doumer.me/resolve-image-loading-error-in-xamarin-forms

ال 3 كومينتر

واجهت نفس المشكلة واكتشفت أن ذلك يرجع إلى حقيقة أنني قمت بتحميل صورة من عنوان URL لطبقة المقابس الآمنة مثلك تمامًا. إليك حل للمشكلة https://doumer.me/2018/03/29/resolve-image-loading-error-in-xamarin-forms/
لقد قمت بحلها عن طريق تغيير إعدادات SSL و TLS.

وجه الفتاة! لا يمكن العثور على هذه الصفحة.

يعمل عنوان url هذا بشكل أفضل (في وقت الكتابة): https://doumer.me/resolve-image-loading-error-in-xamarin-forms

يبدو أن عنوان url للصورة في repro الأصلي معطلاً تمامًا في هذه المرحلة ، لا يمكنني تحميل ذلك في متصفح أو netstandard أو PCL

يقال أنني وجدت للتو عنوان url آخر والذي فشل في تحميل الصور على 2.5
ثم قمت بتحديث نموذج PCL إلى 3.1 وتم تحميل جميع الصور هناك

إذا كان تقييمي يبدو خاطئًا ، فيرجى إبلاغي بذلك وإرفاق تقرير 3.1

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات