2009-10-22 84 views
6

嘿傢伙,我已得到uploadify處理一些文件上傳在我的mvc項目和該部分工作非常好,我只是想知道我需要添加到我的控制器操作來獲得訪問該我從uploadify的javascript傳遞如何從uploadify在asp.net MVC控制器訪問scriptDataData

編輯一些澄清scriptData變量:

我uploadify腳本如下:

var fileCategoryID; 
$(document).ready(function() { 
$('#uploadify').uploadify({ 
    'uploader': '../../scripts/uploadify.swf', 
    'cancelImg': '../../content/images/cancel.png', 
    'script': '../../' + $('#Controller').val() + '/FileSave/' + $('#OrderID').val(), 
    'folder': 'Uploads', 
    'multi': true, 
    'auto': false, 
    'queueSizeLimit': 5, 
    'queueID': 'fileQueue', 
    'displayData': 'speed', 
    'fileExt': '*.pdf', 
    'fileDesc': 'PDF', 
    'sizeLimit': '5242880', 
    'scriptData': { 'categoryID': fileCategoryID } 
}); 
$('#fileCategory').change(function() { 
    fileCategoryID = $('#fileCategory').val(); 
}); 
}); 

我很好奇我怎麼可以從我的內部訪問這些數據控制器動作

回答

4

通過接受我的控制器操作中的表單集合,我可以通過uploadify腳本訪問categoryID參數,找到一個自己解決的答案。

編輯一些代碼:

[AcceptVerbs(HttpVerbs.Post)] 
public string FileSave(long id, HttpPostedFileBase FileData, FormCollection forms) 
{ 
    long catID = Int64.Parse(forms.Get("CategoryID")); 

    //do something with files 

    return "Upload Successful"; 
} 
+0

您也可以使用formData選項 - 'formData':{'someKey':'someValu e','someOtherKey':1} – rboarman 2012-06-27 00:32:06

0
<script type="text/javascript"> 
    $(function() { 
     $('#file_upload').uploadify({ 
      'swf': "@Url.Content("~/Content/UploadifyContent/uploadify.swf")", 
      'cancelImg': "@Url.Content("~/Content/UploadifyContent/uploadify-cancel.png")", 
      'uploader': "@Url.Action("Upload", "Callout", new { @id = 5 })", 
      'scriptData': { 'id': $('#Job_Id').val() }, 
      'onUploadSuccess': function (file, data, response) { 
       $("#uploaded").append("<img src='" + data + "' alt='Uploaded Image' />"); 
      } 
     }); 
    }); 
</script> 

公衆的ActionResult上傳(長ID,HttpPostedFileBase的FileData) {

}

與$替換 '5'('#/ .blah')。val()或equiv

+0

感謝您的回答。不過,我認爲嵌套引號字符存在一些問題。考慮編輯你的答案? – Barett 2014-07-22 23:47:16