MemoryStream
から直接ファイルを開いて、ディスクに書き込むのではなく、Process.Start()
を開くことはできますか?特にPDFファイルですか?そうでなければ、MemoryStream
をディスクに書き込む必要があると思います(これは厄介なものです)。誰かがディスクにMemoryStream
を書き込む方法について私にリソースを教えてもらえますか?メモリストリームからファイルを開く方法
答えて
クライアントによって異なります。クライアントが標準入力からの入力を受け入れる場合は、をクライアントにプッシュします。もう1つの可能性は、名前付きパイプサーバーまたはソケットサーバーを書くことです(簡単なことではありませんが、うまくいく可能性があります)。
ただし、最も簡単なオプションは、一時ファイルを取得してそれに書き込むことです(あとで削除してください)。
var file = Path.GetTempFileName();
using(var fileStream = File.OpenWrite(file))
{
var buffer = memStream.GetBuffer();
fileStream.Write(buffer, 0, (int)memStream.Length);
}
完了したら、ファイルをクリーンアップしてください。
またはWriteToを使用してください(4.0以外の場合) – Magnus
@Magnus - 削除しました。私はMemoryStreamからバックバッファを使用できることに気づいた –
ファイルを開くことによって、Adobe ReaderをPDFファイルとして起動する場合は、ファイルに書き込む必要があります。つまり、アプリケーションがあなたにいくつかのAPIを提供しない限り、そうします。ファイルへのストリームを書き込むための
一つの方法は、次のようになります。
using (var memoryStream = /* create the memory stream */)
using (var fileStream = File.OpenWrite(fileName))
{
memoryStream.WriteTo(fileStream);
}
Path.GetTempFileName()「の.tmp」拡張子を持つファイル名を返し、したがって、あなたが必要とするProcess.Start()を使用cant't拡張子を使ったWindowsファイルの関連付け。
- 1. サーバディレクトリからファイルを開く方法は?
- 2. メモリストリームからのZipファイルの作成C#
- 3. 他のmxmlファイルからmxmlファイルを開く方法は?
- 4. apkファイルを開く方法
- 5. ファイルを開く方法
- 6. ファイルを開く方法
- 7. .diaryファイルを開く方法
- 8. .bundleファイルを開く方法
- 9. QT UIメニューバー(トップメニュー)からファイル(画像)を開く方法
- 10. ブラウザで直接textmateからhtmlファイルを開く方法は?
- 11. 外部リンクからPDFファイルを開く/プレビューする方法は?
- 12. 複数のファイルをコマンドラインから開く方法
- 13. アプリケーションからQuickOfficeでファイルを開く方法は?
- 14. 指定したプログラムでコマンドラインからファイルを開く方法は?
- 15. J2MEアプリケーションからPDFファイルを開く方法は?
- 16. ファイルエクスプローラの「開く」オプションからファイルを読み取る方法は?
- 17. アンドロイドコードから直接PDFファイルを開く方法
- 18. Cygwinのmimic2dbからRECORD.alMファイルを開く方法は?
- 19. Borland C++アプリケーションからHTMLHelp(.chm)ファイルを開く方法
- 20. 添付ファイルをInfoPathフォームから直接開く方法は?
- 21. JSPファイルから新しいウィンドウを開く方法は?
- 22. メールからファイルを開く
- 23. プレイブックアプリからファイルを開く
- 24. メモリストリームからビデオファイルを再生
- 25. コントローラからポップアップを開く方法cakephp
- 26. 端末からURLを開く方法
- 27. USBからローカルファイルを開く方法
- 28. Androidソフトキーボードをネイティブコードから開く方法
- 29. ウィンドウからウィンドウを開く方法
- 30. PowershellからPowershellコンソールウィンドウを開く方法
(James - 私は私の答えから4.0の依存関係を削除しました) –