【问题标题】:Jquery file uplaod fail showingJquery文件上传失败显示
【发布时间】:2013-08-21 16:12:59
【问题描述】:

您好,我正在使用 jquery 文件上传显示失败,我尝试使用不同的数据类型但仍然显示失败,我可以显示我的图像已上传但完成事件未触发,失败事件正在触发。

$('#frmsettings').fileupload({

    type: 'POST',
    dataType: 'application/json',

    url: '/Settings/UploadUiLogo',
    add: function (e, data)
    {
        data.submit();
    },
    progressall: function (e, data)
    {

    },
    done: function (e, data)
    {

        $.each(data.files, function (index, file)
        {
            alert("Done called");
        });
    },
    fail: function (e, data)
    {
        alert("Fail : Called");
        //window.location = JsErrorAction;
    }

});

控制器

========================================

public ContentResult UploadUiLogo()
        {
            try
            {
                if (Request.Files != null)
                {
                    foreach (string file in Request.Files)
                    {
                        HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;

                        if (hpf.ContentLength == 0)
                            continue;
                        string savedFileName = Path.Combine(Server.MapPath("~/Content/uploadlogo"), Path.GetFileName(Guid.NewGuid() + hpf.FileName));
                        hpf.SaveAs(savedFileName);

                        return Content("{\"name\":\"" + savedFileName + "\"", "application/json");
                    }
                }

                return null;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

请任何人尽快帮助我。

【问题讨论】:

    标签: jquery json asp.net-mvc-4 jquery-file-upload multifile-uploader


    【解决方案1】:

    您的返回类型似乎有问题。试试这个:

        // changed result type to JsonResult
        public JsonResult UploadUiLogo()
        {
            try
            {
                if (Request.Files != null)
                {
                    foreach (string file in Request.Files)
                    {
                        HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
    
                        if (hpf.ContentLength == 0)
                            continue;
                        string savedFileName = Path.Combine(Server.MapPath("~/Content/uploadlogo"), Path.GetFileName(Guid.NewGuid() + hpf.FileName));
                        hpf.SaveAs(savedFileName);
    
                        //create a c# object rather than writing the string
                        var result = new { name = savedFileName };
                        //json result return
                        return Json(result);
                    }
                }
    
                return null;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2016-06-13
      • 2012-07-21
      • 2014-02-15
      • 2012-03-06
      • 2014-02-03
      • 1970-01-01
      • 2019-03-05
      • 2013-06-09
      • 2012-03-18
      相关资源
      最近更新 更多