C# 在Windows应用商店应用中将图像转换为字节数组
在WindowsStoreApps中,我想将本地映像从解决方案资源管理器转换为字节数组,然后再转换为base64字符串。请指导我。到目前为止,我尝试的代码如下C# 在Windows应用商店应用中将图像转换为字节数组,c#,wpf,windows-store-apps,C#,Wpf,Windows Store Apps,在WindowsStoreApps中,我想将本地映像从解决方案资源管理器转换为字节数组,然后再转换为base64字符串。请指导我。到目前为止,我尝试的代码如下 public async Task<string> ToBase64() { Byte[] ByteResult = null; string bs64 = null; if (url != null) { HttpClient client = new HttpClient(); B
public async Task<string> ToBase64()
{
Byte[] ByteResult = null;
string bs64 = null;
if (url != null)
{
HttpClient client = new HttpClient();
ByteResult = await client.GetByteArrayAsync(url);
}
bs64 = Convert.ToBase64String(ByteResult);
return bs64;
}
public异步任务ToBase64()
{
字节[]ByteResult=null;
字符串bs64=null;
如果(url!=null)
{
HttpClient=新的HttpClient();
ByteResult=await client.GetByteArrayAsync(url);
}
bs64=Convert.tobase64字符串(ByteResult);
返回bs64;
}
试试这段代码
StorageFile file = <Your File>;
var bytes = new Byte[0];
using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read))
{
var reader = new DataReader(fileStream.GetInputStreamAt(0));
bytes = new Byte[fileStream.Size];
await reader.LoadAsync((uint)fileStream.Size);
reader.ReadBytes(bytes);
}
string imageInStringFormat = Convert.ToBase64String(bytes);
StorageFile=;
变量字节=新字节[0];
使用(irandomaccesstream fileStream=await file.OpenAsync(FileAccessMode.Read))
{
var reader=newdatareader(fileStream.GetInputStreamAt(0));
字节=新字节[fileStream.Size];
wait reader.LoadAsync((uint)fileStream.Size);
reader.ReadBytes(字节);
}
字符串imageInStringFormat=Convert.tobase64字符串(字节);
试试这段代码
StorageFile file = <Your File>;
var bytes = new Byte[0];
using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read))
{
var reader = new DataReader(fileStream.GetInputStreamAt(0));
bytes = new Byte[fileStream.Size];
await reader.LoadAsync((uint)fileStream.Size);
reader.ReadBytes(bytes);
}
string imageInStringFormat = Convert.ToBase64String(bytes);
StorageFile=;
变量字节=新字节[0];
使用(irandomaccesstream fileStream=await file.OpenAsync(FileAccessMode.Read))
{
var reader=newdatareader(fileStream.GetInputStreamAt(0));
字节=新字节[fileStream.Size];
wait reader.LoadAsync((uint)fileStream.Size);
reader.ReadBytes(字节);
}
字符串imageInStringFormat=Convert.tobase64字符串(字节);
假设要从资产文件夹转换名为MyImage.png的图像,下面的代码将返回该图像的base64字符串
private async Task DoWork()
{
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/MyImage.png"));
var b64 = await ConvertStorageFileToBase64String(file);
}
private async Task<string> ConvertStorageFileToBase64String(StorageFile File)
{
var stream = await File.OpenReadAsync();
using (var dataReader = new DataReader(stream))
{
var bytes = new byte[stream.Size];
await dataReader.LoadAsync((uint)stream.Size);
dataReader.ReadBytes(bytes);
return Convert.ToBase64String(bytes);
}
}
private async Task DoWork()
{
var file=wait-StorageFile.getfilefromApplicationUrisync(新Uri(“ms”)-appx:///Assets/MyImage.png"));
var b64=wait ConvertStorageFileToBase64String(文件);
}
专用异步任务ConvertStorageFileToBase64String(StorageFile文件)
{
var stream=await File.OpenReadAsync();
使用(var dataReader=newdatareader(流))
{
var bytes=新字节[stream.Size];
等待dataReader.LoadAsync((uint)stream.Size);
dataReader.ReadBytes(字节);
返回Convert.tobase64字符串(字节);
}
}
假设要从资产文件夹转换名为MyImage.png的图像,下面的代码将返回该图像的base64字符串
private async Task DoWork()
{
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/MyImage.png"));
var b64 = await ConvertStorageFileToBase64String(file);
}
private async Task<string> ConvertStorageFileToBase64String(StorageFile File)
{
var stream = await File.OpenReadAsync();
using (var dataReader = new DataReader(stream))
{
var bytes = new byte[stream.Size];
await dataReader.LoadAsync((uint)stream.Size);
dataReader.ReadBytes(bytes);
return Convert.ToBase64String(bytes);
}
}
private async Task DoWork()
{
var file=wait-StorageFile.getfilefromApplicationUrisync(新Uri(“ms”)-appx:///Assets/MyImage.png"));
var b64=wait ConvertStorageFileToBase64String(文件);
}
专用异步任务ConvertStorageFileToBase64String(StorageFile文件)
{
var stream=await File.OpenReadAsync();
使用(var dataReader=newdatareader(流))
{
var bytes=新字节[stream.Size];
等待dataReader.LoadAsync((uint)stream.Size);
dataReader.ReadBytes(字节);
返回Convert.tobase64字符串(字节);
}
}