Xamarin - FFImageLoading - System.IO.IOException - PullRequest
0 голосов
/ 31 марта 2020

В моем файле XAML есть следующее:

    <ContentPage.Content>

    <AbsoluteLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
        <StackLayout
             AbsoluteLayout.LayoutFlags="All"
             AbsoluteLayout.LayoutBounds="0,0,1,1">
            <service:PinchPanContainer HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
                <ffimageloading:CachedImage RetryCount="5" RetryDelay="1" CacheDuration="1" x:Name="MyImage" HorizontalOptions="Fill" VerticalOptions="CenterAndExpand" DownsampleToViewSize="False"></ffimageloading:CachedImage>
            </service:PinchPanContainer>                
        </StackLayout>
        <StackLayout BindingContext="{x:Reference MyImage}" IsVisible="{Binding IsLoading}" Padding="12"
             AbsoluteLayout.LayoutFlags="PositionProportional"
             AbsoluteLayout.LayoutBounds="0.5,0.5,-1,-1">
            <ActivityIndicator BindingContext="{x:Reference MyImage}" IsRunning="{Binding IsLoading}" />
            <Label Text="Loading Hi-Res Image..." BindingContext="{x:Reference MyImage}" IsVisible="{Binding IsLoading}" HorizontalOptions="Center" TextColor="Black"/>
         </StackLayout>
    </AbsoluteLayout>

</ContentPage.Content>

, и я использую это для определения источника изображения:

    MyImage.Source = uri;

У Ури есть это значение, и изображение загружается правильно в браузер: http://192.168.0.12/images/27kv4c1/2dbc5331/a08a31/IMG_4190-Modifica.png

но в симуляции, как только я назначаю источник, я получаю 5 раз эту ошибку:

03-30 21:06:12.525 I/mono-stdout(28576): ---> (Inner Exception #5) System.IO.IOException: The server returned an invalid or unrecognized response.
03-30 21:06:12.525 I/mono-stdout(28576):   at System.Net.Http.HttpConnection+ContentLengthReadStream.ReadAsync (System.Memory`1[T] buffer, System.Threading.CancellationToken cancellationToken) [0x00171] in /Users/builder/jenkins/workspace/archive-mono/2019-10/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ContentLengthReadStream.cs:70 
03-30 21:06:12.525 I/mono-stdout(28576):   at FFImageLoading.Cache.DownloadCache.DownloadAsync (System.String url, System.Threading.CancellationToken token, System.Net.Http.HttpClient client, FFImageLoading.Work.TaskParameter parameters, FFImageLoading.DownloadInformation downloadInformation) [0x00652] in C:\projects\ffimageloading\source\FFImageLoading.Common\Cache\DownloadCache.cs:163 
03-30 21:06:12.525 I/mono-stdout(28576):   at FFImageLoading.Cache.DownloadCache+<>c__DisplayClass15_0.<DownloadAndCacheIfNeededAsync>b__0 () [0x00050] in C:\projects\ffimageloading\source\FFImageLoading.Common\Cache\DownloadCache.cs:58 
03-30 21:06:12.525 I/mono-stdout(28576):   at FFImageLoading.Retry.DoAsync[T] (System.Func`1[TResult] action, System.TimeSpan retryInterval, System.Int32 retryCount, System.Action onRetry) [0x00047] in C:\projects\ffimageloading\source\FFImageLoading.Common\Helpers\Retry.cs:19 <---

Что может быть причиной этого?

1 Ответ

0 голосов
/ 31 марта 2020

Проблема заключалась в том, что я использовал php ремесленную подачу из laravel. Переход на Apache (из xampp) решил проблему.

...