将HttpPostedFileBase保存为文件夹中的图像

时间:2014-06-15 12:29:38

标签: model-view-controller httppostedfilebase

我在应用程序中为图像添加了拖放功能:
它似乎使用以下代码将文件保存为HttpPostedFileBase

public ActionResult SaveUploadedFile()
{
    bool isSavedSuccessfully = true;

    foreach (string fileName in Request.Files)
    {
        HttpPostedFileBase file = Request.Files[fileName];
    }
}    

我的最终目标是将图像路径存储在我的数据库中,但是现在如果我可以,我会很高兴 将此HttpPostedFileBase - 文件转换为jpg并将其存储在我项目的图像文件夹中。关于如何解决这个问题的任何提示?

编辑: 此代码似乎将HttpPostedFileBase转换为图像:

   public ActionResult SaveUploadedFile()
{
    bool isSavedSuccessfully = true;

    foreach (string fileName in Request.Files)
    {
        HttpPostedFileBase file = Request.Files[fileName];
         var filename = Path.GetFileName(file.FileName);

            var sourceimage = System.Drawing.Image.FromStream(file.InputStream);
            img = sourceimage;
    }
}  

我还添加了一个道具来存储它:

public Image img { get; set; }

编辑:

   public HttpPostedFileBase DropImg { get; set; }
   public Image img { get; set; }

 public ActionResult SaveUploadedFile(string test)
        {
            bool isSavedSuccessfully = true;

            foreach (string fileName in Request.Files)
            {
                HttpPostedFileBase file = Request.Files[fileName];
                DropImg = file;
                var filename = Path.GetFileName(file.FileName);

                var sourceimage = System.Drawing.Image.FromStream(file.InputStream);
                img = sourceimage;

                var fullPath = "~/Content/images/drops/" + file.FileName;
                file.SaveAs(Server.MapPath(fullPath));
            }




            if (isSavedSuccessfully)
            {
                return Json(new { Message = "File saved" });

            }
            else
            {
                return Json(new { Message = "Error in saving file" });
            }


        }

我很想这会将我的图像保存到文件夹中...我错过了什么?

1 个答案:

答案 0 :(得分:1)

var fullPath = "~/UploadedImages/" + file.FileName;
file.SaveAs(Server.MapPath(fullPath));