2013-08-16 18 views
0

概述:使用plupload的jQuery總是空

我使用plupload jQuery來上傳多個文件,但是當我按下保存按鈕我在HttpPostedFileBase越來越空值

代碼:

@{ 
    ViewBag.Title = "ImageUpload"; 
} 
<link href="@Url.Content("~/Scripts/plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css")" 
    rel="stylesheet" type="text/css" /> 
<link href="@Url.Content("~/Scripts/plupload/js/jquery.ui.plupload/css/jquery.ui.plupload.css")" 
    rel="stylesheet" type="text/css" /> 
<script src="@Url.Content("~/Scripts/plupload/js/plupload.full.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/plupload/js/jquery.ui.plupload.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/plupload/js/jquery.plupload.queue/jquery.plupload.queue.js")" type="text/javascript"></script> 

<script type="text/javascript"> 

    $(document).ready(function() { 

     $("#uploader").pluploadQueue({ 
      // General settings 
      runtimes: 'html5,html4,gears,flash,silverlight', 
      url: '@Url.Action("UploadImage")', 
      max_file_size: '10mb', 
      chunk_size: '1mb', 
      unique_names: true, 
      button_browse_hover: true, 
      multiple_queues: true, 
      dragdrop: false, 

      // Resize images on clientside if we can 
      resize: { width: 320, height: 340, quality: 90 }, 

      // Specify what files to browse for 
      filters: [ 
      { title: "Image files", extensions: "jpg,gif,png,jpeg,bmp" }, 
      { title: "Zip files", extensions: "zip" }, 
      { title: 'PDF files', extensions: 'pdf' }, 
      { title: "Excel Files", extensions: "xls,xslx,csv" }, 

     ], 



      // Silverlight settings 
      silverlight_xap_url: '@Url.Content("~/Scripts/plupload/plupload.silverlight.xap")' 
     }); 

     // Client side form validation 
     $('form').submit(function (e) { 

      var uploader = $('#uploader').pluploadQueue(); 
      // Files in queue upload them first 
      if (uploader.files.length > 0) { 

       if (uploader.files.length < 9) { 
        // When all files are uploaded submit form 
        uploader.bind('StateChanged', function() { 
         if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) { 

          $('form')[1].submit(); 

         } 
        }); 
        uploader.start(); 
       } else { 
        alert('Number of files more than 8.'); 
       } 
       return false; 
      } 
      else { 
       alert('You must queue at least one file.'); 
      } 
      return false; 
     }); 



    }); 


</script> 
@using (Html.BeginForm("ImageUpload", "Image", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    <div id="uploader"> 
     <p> 
      You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p> 
    </div> 
    <p> 
     <input type="submit" value="Save" id="uploadFile" name="uploadFile" /> 
    </p> 



} 



In my controller : 

     public ActionResult ImageUpload() 
     { 
      return View(); 
     } 

我有這個控制器是在窗體提交時執行的。

  [HttpPost] 
      public string ImageUpload(HttpPostedFileBase FileData) 
      { 
      FileData = Request.Files[0]; 

      if (FileData.ContentLength > 0) 
      { 
       var fileName = Path.GetFileName(FileData.FileName); 
       var path = Path.Combine(Server.MapPath("~/Content"), fileName); 
       FileData.SaveAs(path); 
      } 

      return "Files was uploaded successfully!"; 
     } 

回答

0

更換網址: '@ Url.Action( 「UploadImage」)',和網址: '@ Url.Action( 「ImageUpload」)',

這對我的作品