私はドキュメント/ファイルをデータベースのbyte []に格納することを使用しています。未知のファイルをオープンする方法[]
答えて
あなたが書いているファイルのファイル拡張子を知る必要があるので、OSは拡張子に基づいてデフォルトプログラムを実行できます。コードは次のようなものになります。
byte[] bytes = GetYourBytesFromDataBase();
string extension = GetYourFileExtension(); //.doc for example
string path = Path.GetTempFileName() + extension;
try
{
using(BinaryWriter writer = new BinaryWriter(File.Open(path, FileMode.Create)))
{
writer.Write(yourBytes);
}
// open it with default application based in the
// file extension
Process p = System.Diagnostics.Process.Start(path);
p.Wait();
}
finally
{
//clean the tmp file
File.Delete(path);
}
'File.WriteAllBytes'だけではないのはなぜですか?また、 'GetTempFileName'は任意の拡張子を持つので、これは動作しません。 –
@Marc:そうです。一定。 –
ファイル拡張子もデータベースに保存する必要があります。ファイル拡張子がない場合は、ファイルを処理するために起動するプログラムをオペレーティングシステムに依存させることができないため、問題は非常に困難になります。データベースから
- のデータのロードと、元のファイル拡張子を使用してファイルに保存します。
は、次のパターンを使用することができます。
- Start a new System.Diagnostics.Process保存されたファイルパスを指します。
ファイルを元のファイル拡張子で保存したので、OSはファイルを開くために拡張子用に登録されているプログラムを探します。
chibacityとDanielは、ファイル拡張子をdbに格納し、同意してファイル拡張子を格納するか、少なくともファイルの種類を示すインジケータを表示することをお勧めします。
の場合、これらのファイルは、開発中のファイル形式が変更になりやすいです。そして、あなたはまた、ファイル形式のバージョンは、データが保存されているかについての情報を保存することができますあなた自身の創造の形式のものであり、データの保存に使用したバージョンを覚えていないと、情報を回復するのに苦労します。
一般的にオブジェクトの永続性にも同じ問題があります。
- 1. アプリケーション再オープン時のローカル通知をリセットする方法
- 2. Android:未知のファイルタイプを開く方法
- 3. 未読/未読の通知を確認する方法はありますか?
- 4. ファイルのオープンとダウンロードを制御する方法は?
- 5. 304未修正の応答を送信する方法を知る方法
- 6. Javascriptのデバッグ - 未知のクリックイベントをすべて破る方法
- 7. 未知のバージョンのライブラリをdlopenする方法
- 8. オープンAlertView方法
- 9. 未知の例外をDjangoログに表示する方法
- 10. アイコンに未読の通知を表示する方法
- 11. 閉じたファイル記述子を再オープンする方法
- 12. C++で未知のウィンドウのハンドルを見つける方法は?
- 13. 未知の整数型の最大値を求める方法
- 14. Javaソケットを再オープンする方法
- 15. 未知のジェネリック型を扱う方法はありますか?
- 16. Eclipseのオープン方法 - ubuntuの
- 17. PythonからMongoDBへの未知のエンコーディングでファイルをインポートする
- 18. 未知数のCファイルをコンパイルするためのバットファイル
- 19. C#とActiveSync通信/ファイルのオープンとオープン
- 20. 未知のメモリリーク
- 21. ファイルのオープンを追跡する
- 22. 未知の高さの要素の下部にイメージスプライトを配置する方法
- 23. Androidオープンpdfファイル
- 24. 未知の変数のためのPython解法方程式
- 25. 未知の引数を持つオブジェクトを初期化する方法は?
- 26. PHPのフォームから未知数の項目を処理する方法
- 27. DOMコレクション:コンテンツを参照する方法とリンクコレクションの未知のアイテム
- 28. ウェブページから未知の長さの文字列を取得する方法
- 29. 未知のJSON階層全体の深さを取得する方法は?
- 30. 未知のXML fom Webサービスを解析する最善の方法
これはC#のためのものであると仮定します(バイト[]の角かっこ)。 – James
あなたはそのデータを自分で保存していますか?これが当てはまる場合は、データの構造を知っていて、それをバイナリから再構築することができます......しかし、あなたがunknowファイルを言ったように、どんなデータがあるのか分からない限り、 ..uは、メモ帳のようにバイトを文字に変換するよりも多くのことを行います... –