簡體   English   中英

將byte []轉換為文件流而無需寫入磁盤

[英]Convert byte[] to file stream without writing to disk

我們從Web服務獲取一個輸入作為byte[] (我們在內部處理),我們需要上傳到另一個僅接受文件流的Web服務。

如何在不使用C# 寫入磁盤的情況下byte[]轉換為文件流?


編輯:這不是重復的。 我不是在問如何將byte[]轉換為內存流或文件流。 我在問如何在不寫入disk的情況下byte[]轉換為文件流。 請注意,我需要將數據作為文件流發送到我無權訪問的第三方Web服務。 此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);
}

如果綁定到文件流,則必須使用它。 如果您不想通過物理硬盤驅動器,則可以在系統上安裝將內存的一部分映射到虛擬驅動器的ram光盤 ,然后使用該驅動器將FileStream映射到該磁盤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM