0

您好我正在使用jquery文件上傳顯示失敗我已嘗試diffeerent數據類型,但仍顯示失敗,我可以顯示我的圖像上傳但完成事件不發射,失敗事件正在射擊。jquery文件uplaod失敗顯示

$('#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; 
      } 
     } 

請任何人儘快幫助我。

回答

0

看起來你的返回類型可能有問題。試試這個:

// 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; 
     } 
    }