如何从服务器文件夹上载和下载文件

时间:2019-03-30 10:51:11

标签: c# asp.net-mvc

我正在创建ASP.net MVC5 Web应用程序,我想允许用户将文件上传到服务器文件夹并将路径保存在数据库中。 还将上传的文件从服务器下载到他的电脑。

  • 上传文件-> cshtml:

    @ Html.TextBoxFor(m => m.attached,新的{type =“ file”})

创建动作:

  public ActionResult Create([Bind(Include = "op_id,op_name,op_typeid,op_date,budget,op_statusid,sup_id,order_no,order_typeid,attached,notes")] operation operation , HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (Request.Files.Count > 0)
                {
                      file = Request.Files[0];
                    if (file.ContentLength > 0)
                    { var fileName = Path.GetFileName(file.FileName);

                        bool folder_exists3 = Directory.Exists(Server.MapPath("~/uploads/" + file.FileName));
                        if (!folder_exists3)
                        {
                           file.SaveAs(Path.Combine(Server.MapPath("~/uploads/"), fileName));
                        }

                    }
                }
                    db.operations.Add(operation);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
  • 下载文件-> cshtml:

    @ Html.ActionLink(“ operations”,“ GetFile”,新的{name = item.attached})

动作:

 [HttpGet]
        public FileResult GetFile(string name)
        {
            var FileVirtualPath = "c:/uploads/" + name;
            return File(FileVirtualPath, "application/force-download", Path.GetFileName(FileVirtualPath));

        }

它将文件名保存在数据库中,但不将文件保存到服务器文件夹中,因此无法下载

有什么帮助吗?

0 个答案:

没有答案