C#中 Stream 如何转换成 base64字符串
时间: 2024-10-28 18:10:09 浏览: 19
在C#中,你可以使用`System.Text.Encoding`和`System.Convert`类将`Stream`转换为Base64字符串。下面是一个简单的示例,假设你有一个名为`inputStream`的`Stream`实例:
```csharp
using System.IO;
using System.Text;
public string StreamToBase64(Stream inputStream)
{
if (inputStream == null)
{
throw new ArgumentNullException(nameof(inputStream), "Input stream cannot be null.");
}
byte[] bytes = new byte[inputStream.Length];
inputStream.Read(bytes, 0, (int)inputStream.Length);
return Convert.ToBase64String(bytes);
}
```
在这个例子中,首先从`Stream`中读取所有数据到一个`byte`数组中,然后使用`Convert.ToBase64String()`方法将这个数组转换为Base64字符串。
如果`inputStream`是从某个文件加载的,可以先创建一个`FileStream`,如这样:
```csharp
string filePath = "path_to_your_file";
Stream inputStream = File.OpenRead(filePath);
string base64String = StreamToBase64(inputStream);
```
记得关闭`Stream`之后再处理结果:
```csharp
inputStream.Close(); // 或者使用using语句自动关闭
```
阅读全文