ASP.NET MVC 4アプリケーションはファイルをデータベースに格納し、ダウンロードすることができます。自動オープンで任意のファイルタイプをダウンロードする方法
Postgresのテーブルdokumarhは、2つの列
- バイナリデータとして
- コンテンツbytea型のファイルの内容を使用して投稿されたファイルのファイル名のテキスト名を持っています。
アプリケーションでは、ブラウザからファイルをダウンロードできます。ダウンロードしたファイルは、その拡張機能のデフォルトのOSアプリケーションを開くはずです。単語の例、DOC、Excelのxlsファイル、メモ帳のためのtxtなど
この機能は、コントローラ を使用して実装され
public FileStreamResult ShowDocument(string filename)
{
var manus = Db.QuerySingle(@"
select filename, content
from dokumarh
where [email protected]
", filename);
return new FileStreamResult(new MemoryStream(manus.content), "???")
{
FileDownloadName = manus.filename
};
}
MVCのfilestreamresultが付いた送信されたパラメータおよびコンテンツタイプを必要とする「???」
アップロード時には、ファイル名のみが使用可能です。コンテンツタイプはありません。
適切なコンテンツタイプを指定するにはどうすればよいですか?または、コンテンツタイプを指定せずにファイル名だけを返すことは可能ですか?または、ファイル拡張子からコンテンツタイプを見つけることができるMVCメソッド、データベース、またはライブラリがありますか?
あなたは[MimeMapping]使用することができます(https://msdn.microsoft.com/en-us/libraryが含まれています/system.web.mimemapping.aspx)クラス –
ああ!私はそれについて知らなかった。ありがとう – Shyju
@StephenMueckeこれは問題を解決します。あなたはそれを答えとして書いて、私がマークしupvoteすることができます。 – Andrus