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 Document (string fileName) {시도 {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