c# - 将 byte[] 转换为文件流而不写入磁盘

标签 c# arrays filestream

我们正在从网络服务获取输入 byte[] (我们内部处理)并且我们需要上传到另一个仅接受文件流的网络服务。

如何转换byte[]在 C# 中不写入磁盘到文件流?


编辑:这不是重复的。我不是问如何转换byte[]到内存流或文件流。我问如何转换byte[]到文件流而不写入磁盘。请注意,我需要将数据作为文件流发送到我无权访问的第三方网络服务。此 Web 服务仅接受文件流。

到目前为止我有以下代码:

string fileWritePath = "c:\\temp\\test.docx";
//here fileContent is a byte[]
File.WriteAllBytes(fileWritePath, fileContent);
FileStream fileStream = new FileStream(fileWritePath, FileMode.Open, FileAccess.Read);

我不想将文件写入本地磁盘并创建文件流。

最佳答案

使用MemoryStream :

using(var stream = new MemoryStream(byteArray)){
   SendStreamToService(stream);
}

关于c# - 将 byte[] 转换为文件流而不写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41244244/

相关文章:

C# - 随机写入文件 - 在第一行之前写入第二行

c# - 在 Unity 中读取二维码

c# - 如何正确计算 Fisher 变换指标

arrays - Julia :无法将元组附加到数组

java - 为什么我的随机数生成器方法会返回相同的数字?

c# - 在 MS Excel 中打开时无法写入文件

node.js - 将 Pdf 缓冲区转换为 jpg 图像缓冲区 ( NodeJS )

c# - 为什么struct比float慢?

c# - 在 C# 中增加 WCF Web 服务的超时

c# - 如何在 C# 中使用最少的代码根据分配给变量的标志对变量数组进行分组