public class FileController : Controller
{
//
// path: /File/Upload
public ActionResult Upload() {
ActionResult result = View("UploadFile");
HttpPostedFileBase uploadFile = Request.Files["upload"];
if(null != uploadFile){
string filePath = uploadFile.FileName;
string fileName = Path.GetFileName(filePath);
string uploadPath = HttpContext.Server.MapPath("../Upload/")+fileName;
uploadFile.SaveAs(uploadPath);
return RedirectToAction("ListFiles", "File");
}
return result;
}
public ActionResult ListFiles() {
string filePath = Server.MapPath("../Upload");
string[] fileNames = Directory.GetFiles(filePath);
for (int i = 0; i < fileNames.Length;i++ )
{
fileNames[i] = Path.GetFileName(fileNames[i]);
}
ViewData["fileNames"] = fileNames;
return View("ListFile");
}
public ActionResult Down(string fileName)
{
//文件下载
string fn = Request.Url.ToString();
string filePath = Server.MapPath("../../Upload")+"\\"+fileName;
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, Encoding.UTF8));
// Response.AppendHeader("Content-Length", fInfo.Length.ToString());
Response.WriteFile(filePath);
return null;
}
}