0

Xamarinプラットフォームに新しく、SQL Server 2014でphp(XAMPサーバーの助けを借りて)を使用してローカルホストデータベースを持っています名前はItemProductsDBで、保存された画像はvarbinary(MAX)です。私は文字列(例Product Name、Product ID、...など)としてデータベースから他のすべての詳細を取得していますが、画像はbyte[]として以下のようになります。C#を使用してSQL Server 2014からXamarinに画像(Varbinary MAX)を取得する必要があります

public class Contactone 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 
    public string Price { get; set; } 
    public string Date { get; set; }   
    public byte[] Image { get; set; }   
} 

public class ContectList 
{ 
    public List<Contactone> contacts { get; set; } 
} 

私はすでに

public partial class JsonParsingPage : ContentPage 
{ 
    public JsonParsingPage() 
    { 
     InitializeComponent(); 
     this.BackgroundImage = "background.png"; 
     this.Title = "Meals"; 
     GetJSON(); 
    } 

    public async void GetJSON() 
    { 
     // Check network status 
     if (NetworkCheck.IsInternet()) 
     { 
      var client = new System.Net.Http.HttpClient(); 
      var response = await client.GetAsync("http://192.168.43.226/GetProducts.php"); 
      string contactsJson = response.Content.ReadAsStringAsync().Result; 
      ContectList ObjContactList = new ContectList(); 
      if (contactsJson != "") 
      { 
       //Converting JSON Array Objects into generic list 
       ObjContactList = JsonConvert.DeserializeObject<ContectList>(contactsJson); 
      } 
      //Binding listview with server response 
      listviewConacts.ItemsSource = ObjContactList.contacts; 
     } 
     else 
     { 
      await DisplayAlert("JSONParsing", "No network is available.", "Ok"); 
     } 

     //Hide loader after server response 
     ProgressLoader.IsVisible = false; 
    }  

(これはコードの下にうまく動作しますしないが、画像のない検索)画像、JsonParsingPage.cs以下のコード以外のデータを取得するために、CSのページとXAMLを作成しました結合それぞれのフィールド

と以下のようにガラス張りXAMLコード
e<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"    
     x:Class="TestProject.Views.DetailViews.JsonParsingPage">  
<Grid> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions>    
     <ListView x:Name="listviewConacts" Grid.Row="1" HorizontalOptions="FillAndExpand" HasUnevenRows="True" ItemSelected="listviewContacts_ItemSelected"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <ViewCell> 
         <Grid HorizontalOptions="FillAndExpand" Padding="10"> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="Auto"/> 
           <RowDefinition Height="Auto"/> 
           <RowDefinition Height="Auto"/> 
           <RowDefinition Height="Auto"/> 
           <RowDefinition Height="Auto"/> 
          </Grid.RowDefinitions> 
          <Label Text="{Binding Name}" HorizontalOptions="StartAndExpand" Grid.Row="0" TextColor="White" FontAttributes="Bold"/> 
          <Label Text="{Binding Description}" HorizontalOptions="StartAndExpand" Grid.Row="1" TextColor="Orange" FontAttributes="Bold"/> 
          <Label Text="{Binding Price}" HorizontalOptions="StartAndExpand" Grid.Row="2" TextColor="Gray" FontAttributes="Bold"/> 
          <Label Text="{Binding Date}" HorizontalOptions="StartAndExpand" Grid.Row="3" TextColor="Gray" FontAttributes="Bold"/> 
          <Label Text="{Binding Image}" HorizontalOptions="StartAndExpand" Grid.Row="4" TextColor="Gray" FontAttributes="Bold"/> 
          <BoxView HeightRequest="2" Margin="0,10,10,0" BackgroundColor="Gray" Grid.Row="4" HorizontalOptions="FillAndExpand" /> 
         </Grid> 
        </ViewCell> 

       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </Grid> 
    <ActivityIndicator x:Name="ProgressLoader" IsRunning="True"/> 
</Grid> 
</ContentPage> 

私の質問です:私は、SQL Serverおよびディスプレイからvarbinary画像を取得するために行う必要が何をすべきかそれらはXamarin形式(csとXAMLコードを含む)ですか?

ご協力いただければ幸いです。

パン

答えて

0

あなたのDBから[]バイトを読んだ後:

image.Source = ImageSource.FromStream(() => new MemoryStream(imageAsBytes)); 
関連する問題