在ASP.net MVC中限制图像上传到jpg

时间:2013-10-21 03:02:30

标签: c# javascript jquery asp.net-mvc asp.net-mvc-4

我仍然是Asp .Net MVC和C#的新手。我正在学习如何做某些事情,并且遇到按钮加载我的视图时遇到了问题。我了解到我不需要像.NET MVC中通常那样的事件监听器,因此我使用@ Ajax.ActionLink作为我的按钮。但是,当我点击我的按钮时,它不会加载我的视图。我想不通为什么?我不能让按钮加载我的视图。

这就是我所做的。在我的共享文件夹中,我有一个包含按钮的布局页面。我插入了这个按钮:

<li>@Ajax.ActionLink("Res-TestImageExtension","TestImageExtension","TestImageExtension","",App.ViewOptions.appAjaxOptions,App.ViewOptions.blueButtonHtmlAttributes)</li>

在我的控制器文件夹中,我插入了一个控制器,其中包含以下内容:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace HexaPod.Controllers
{

public class TestImageExtensionController : Controller
{
// For multiple file select
    [HttpPost]
    public ActionResult Create(List<HttpPostedFileBase> image)
    {

        if (image != null)
        {
            foreach (var item in image)
            {
                string filePath = Path.Combine(Server.MapPath("~/App_Data"),   Path.GetFileName(item.FileName));
                item.SaveAs(filePath);
            }
        }

        return PartialView("TestImageExtension");
    }

}

}

型号:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace HexaPod.Models
{
public partial class ImageUpload {
  public int ID { get; set;} 

  public string ImagePath {get; set;} 
}
}

查看:

@model HexaPod.Models.ImageUpload

@{
ViewBag.Title = "Image Upload";
}

@*

*@
@using (Html.BeginForm("Create", "Profile", FormMethod.Post, new { enctype =  
"multipart/form-data", id = "frm_profile" }))
{
@Html.LabelFor(model => model.ImagePath)
@Html.TextBoxFor(model => model.ImagePath, new { type = "file", accept = "image/jpeg,  image/jpg"}) @Html.ValidationMessageFor(model => model.ImagePath)
// for multiple file select
@Html.TextBoxFor(model => model.ImagePath, new { type = "file", accept = "image/jpeg,   image/jpg", multiple = "multiple" })
}

1 个答案:

答案 0 :(得分:0)

想出来!

我的方法名是Create()但是我没有在@ Ajax.ActionLink()中正确地说出我的方法。 “TestImageExtension”应该是第二个字符串的“Create”。 Button现在呈现partialview。