Mvc之Ajax上传图片

Posted 成败在我手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mvc之Ajax上传图片相关的知识,希望对你有一定的参考价值。

MyAjaxForm下载地址,点击此处下载

视图部分:

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>
<form id="fm1" method="post">
    <input type="file" id="btnfile" name="btnfile" value="提交" />
    <input type="button" id="btn"  value="上传" />
</form>
<div id="divimg"></div>
@section scripts{
<script src="/scripts/MyAjaxForm.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        $("#btn").click(function () {
           // alert("ok2");
            $("#fm1").ajaxSubmit({
                url: \'@Url.Action("Uploadfile")\',
                type: \'post\',
                success: function (data) {
                    data = data.replace(\'<PRE>\', \'\').replace(\'</PRE>\', \'\');
                    $(\'#divimg\').append(\'<img src="\' + data + \'" width="200px"  height="200px" />\');
                    var file = $(\'#btnfile\');
                    file.after(file.clone().val(\'\'));
                    file.remove();
                }
            });
        });
    });
</script>
}

  后台控制器部分

   public ActionResult Uploadfile() 
        {
            //上传文件
            HttpPostedFileBase img = Request.Files["btnfile"];
            string s = img.FileName;
            string fileExtension = Path.GetExtension(s);
            string path = "/Temp/"  ;
            if (Directory.Exists(Server.MapPath(path)) == false)//如果不存在就创建file文件夹
            {
                Directory.CreateDirectory(Server.MapPath(path));
            }
            string virpath = path + Guid.NewGuid() + fileExtension ;

            img.SaveAs(Server.MapPath(virpath));
            return Content(virpath);
        }

  

以上是关于Mvc之Ajax上传图片的主要内容,如果未能解决你的问题,请参考以下文章

MVC Ajax.BeginForm 提交上传图片

mvc ajax 上传图片

通过 jquery Ajax 上传图片到 Model Data 到 Controller MVC/Razor

asp.net mvc之图片上传,webuploader多实例上传疑问,在这里轻松解决!

asp.net mvc之图片上传,webuploader多实例上传疑问,在这里轻松解决!

C#MVC通过AJAX调用API方法进行上传下载