我試圖從管理員端將文件上傳到像CMS這樣的文件夾。 前端將顯示下載文件的鏈接。 在管理員端,我不僅想刪除引用,還要從服務器中刪除實際的文件。從ASP.NET MVC3中的服務器刪除上傳的文件
這裏是我的控制器的一部分將上傳的文件:
[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");
}
在Create
視圖,管理員隨後允許進入有關文檔的其他細節,並存儲在連同表文件名。
現在我需要能夠鏈接到文檔名稱,如document.pdf
。我甚至可以鏈接到App_Data
文件夾下的上傳文件夾?
另外,如何刪除文件而不是刪除表格行?
我最終這樣做的PDF,它「工作」,但想知道如果我需要擔心任何內存問題等或FileStreamResults處理一切? 'public ActionResult Document(string fileName){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
這取決於您的網絡應用遇到多少流量。你有多少用戶? –
@亞歷內部員工大多使用。基本上沒有太多的流量。但是如果我要創造更公開的東西,你有沒有指向最佳實踐的信息?再次感謝你的幫助。 – Par6