CMSのように管理者側からフォルダにファイルをアップロードしようとしています。 フロントエンドにファイルをダウンロードするためのリンクが表示されます。 管理者側では、参照を削除するだけでなく、実際のファイルをサーバーから削除したいと考えています。ここでアップロードしたファイルをASP.NET MVC3のサーバーから削除する
は、アップロードされたファイル保存し、私のコントローラの一部です:Create
ビューで
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
ViewBag.fileName = fileName.ToString();
return RedirectToAction("Create", new {fileName = fileName });
}
return RedirectToAction("Index");
}
を、管理者は、その文書に関するその他の詳細情報を入力させ、それを一緒にテーブルに保存されていますfileName。
今、document.pdf
のようなそのドキュメント名にリンクする必要があります。 App_Data
フォルダの下のアップロードフォルダにリンクすることもできますか?
また、ファイルを削除するにはどうしたらいいですか?
私はこれをPDFでやってしまいました。それは「うまくいく」と思いましたが、メモリの問題などについて心配する必要があるのだろうか、FileStreamResultsはすべてを処理しますか? 'public ActionResultドキュメント(文字列ファイル名){try {var fn = fileName; var fpath = Path.Combine(Server.MapPath( "〜/ App_Data/uploads")、fn);新しいFileStreamResultを返します(新しいFileStream(fpath、FileMode.Open、FileAccess.Read、FileShare.Read)、 "application/pdf")。 } ... ' – Par6
あなたのウェブアプリケーションがどれだけ多くのトラフィックに遭遇するかによって異なります。何人のユーザーがいますか? –
@Alexほとんどの内部スタッフが使用します。基本的にトラフィックはあまりありません。しかし、もっと公の場を作りたいと思ったら、ベストプラクティス情報への指針はありますか?あなたの助けをもう一度ありがとう。 – Par6