2017-01-11 17 views
-1

私はバイト配列をmysql列型のmediumblobにアップロードしようとしています。アップロード後に、BLOBのサイズがキロバイトで表示されますが、ファイルをダウンロードしてメモ帳で表示すると空白の空白になります。ここbyte [] mysqlにアップロードするBLOBにデータがありません

は、私がイメージPNGファイルから私のバイトを取得しています方法は次のとおりです。

private async void artworkFileBTN_Click(object sender, RoutedEventArgs e) 
    { 
     FileOpenPicker openPicker = new FileOpenPicker(); 
     openPicker.ViewMode = PickerViewMode.Thumbnail; 
     openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; 

     openPicker.FileTypeFilter.Add(".png"); 
     artworkfile = await openPicker.PickSingleFileAsync(); 
     if (artworkfile != null) 
     { 
      artworkSet = true; 
      //var stream = await musicfile.OpenAsync(Windows.Storage.FileAccessMode.Read); 
      artworkFileBTN.Content = artworkfile.DisplayName; 
      var stream = await artworkfile.OpenAsync(FileAccessMode.Read); 
      var streamBytes = await artworkfile.OpenStreamForReadAsync(); 
      var bytes = new byte[(int)streamBytes.Length]; 
      ArtworkRawData =bytes; 

     } 
     else 
     { 
      // 
     } 
    } 

私の配列は、空白のみが含まれ、なぜ誰も私を伝えることができますか?

+0

私はこの地域の何かを推測しています...私は長さを設定していますが、コンテンツをどのように設定しますか? var streamBytes =アートワークファイルを待機します.OpenStreamForReadAsync(); var bytes =新しいバイト[(int)streamBytes.Length]; ArtworkRawData = bytes; – Brizzler

答えて

0

解決済み。

byte[] result; 
      using (Stream streambytes = await artworkfile.OpenStreamForReadAsync()) 
      { 
       using (var memoryStream = new MemoryStream()) 
       { 

        streambytes.CopyTo(memoryStream); 
        result = memoryStream.ToArray(); 
       } 
      } 


      ArtworkRawData = result; 
関連する問題