2017-01-11 36 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 = await artworkfile.OpenStreamForReadAsync(); var bytes = new byte [(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;