我正在尝试将字节数组上传到mysql列类型的mediumblob。 上传后,我看到 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
{
//
}
}
谁能告诉我为什么我的数组只包含空格?
已解决。
byte[] result;
using (Stream streambytes = await artworkfile.OpenStreamForReadAsync())
{
using (var memoryStream = new MemoryStream())
{
streambytes.CopyTo(memoryStream);
result = memoryStream.ToArray();
}
}
ArtworkRawData = result;