2011-11-05 7 views
0

可能性の重複:
Uploadify: show error message from HTTP responseアップロードエラーHTTP:未定義?

私はUploadifyは私のasp.net MVC 3のアプリで動作するように取得しようとしています。私はエラーが発生しています(タイトルを参照)。あなたはおそらく取得しているエラーは、ファイルのアップロードを処理することになっているサーバー側の行動に問題があることを示し

@{ 
    ViewBag.Title = "Home Page"; 
} 

    <script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.3.2.min.js")"></script> 
    <script type="text/javascript" src="@Url.Content("~/Scripts/swfobject.js")"></script> 
    <script type="text/javascript" src="@Url.Content("~/Scripts/jquery.uploadify.v2.1.0.min.js")"></script> 

    <input type="file" name="fileInput1" id="fileInput1" /> 
    <span id="result"></span><a href="javascript:$('#fileInput1').uploadifyUpload();">Upload 
     File</a> 


<script type="text/javascript"> 
    $(document).ready(function() { 

     $("#fileInput1").uploadify({ 
      uploader: '@Url.Content("~/Scripts/uploadify.swf")', 
      script: '@Url.Action("Upload", "Upload")', 
      fileDataName: 'file', 
      buttonText: 'File Input 1...', 
      multi: false, 
      sizeLimit: 22222222222, 
      simUploadLimit: 1, 
      cancelImg: '@Url.Content("~/Scripts/cancel.png")', 
      auto: false, 
      onError: function (a, b, c, d) { 
       if (d.status == 404) 
        alert("Could not find upload script. Use a path relative to: " + "<?= getcwd() ?>"); 
       else if (d.type === "HTTP") { 
        console.log("error " + d.type + ": " + d.status); 
        alert("error " + d.type + ": " + d.status); 
       } 
       else if (d.type === "File Size") 
        $("#result").html("file too big"); 
       //alert(c.name + " " + d.type + " Limit: " + Math.round(d.info/(1024 * 1024)) + "MB"); 
       else 
        alert("error " + d.type + ": " + d.text); 
      }, 
      onComplete: function (event, queueId, fileObj, response, data) { 
       alert(response); 
      } 
     }); 


    }); 

</script> 
+0

方法についてのあなたのコントローラのアクション:

は、ここに私のIndex.cshtmlビューですか?ヒットしましたか? –

+0

コントローラのアクションがヒットしません – user603007

答えて

0

:これが私の見解です。私はいくつかの例外がスローされると思う。

は、以下のコントローラで試してみてください。

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult Upload(HttpPostedFileBase file) 
    { 
     if (file != null && file.ContentLength > 0) 
     { 
      var appData = Server.MapPath("~/app_data"); 
      var filename = Path.Combine(appData, Path.GetFileName(file.FileName)); 
      file.SaveAs(filename); 
     } 
     return Json(true); 
    } 
} 

また、jQueryとuploadifyのより新しいバージョンにしてみてください。私はちょうどjquery 1.5.1でテストし、あなたが投稿したコントローラと同じコードで2.1.4をアップロードしました。

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.5.1.js")"></script> 
<script type="text/javascript" src="@Url.Content("~/Scripts/swfobject.js")"></script> 
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.uploadify.v2.1.4.js")"></script> 

<input type="file" name="fileInput1" id="fileInput1" /> 
<span id="result"></span> 
<a href="javascript:$('#fileInput1').uploadifyUpload();">Upload File</a> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#fileInput1").uploadify({ 
      uploader: '@Url.Content("~/Scripts/uploadify.swf")', 
      script: '@Url.Action("Upload", "Home")', 
      fileDataName: 'file', 
      buttonText: 'File Input 1...', 
      multi: false, 
      sizeLimit: 22222222222, 
      simUploadLimit: 1, 
      cancelImg: '@Url.Content("~/Scripts/cancel.png")', 
      auto: false, 
      onError: function() { 
       alert('some error occurred. Sorry'); 
      }, 
      onComplete: function (event, queueId, fileObj, response, data) { 
       alert(response); 
      } 
     }); 
    }); 
</script>