6

我已经让 uploadify 处理我的 mvc 项目上的一些文件上传,并且该部分工作得非常好。我只想知道我需要添加到我的控制器操作中才能访问我从 uploadify javascript 传递的 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

2 回答 2

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";
 }
于 2009-10-22T22:07:26.713 回答
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>

public ActionResult Upload(long id, HttpPostedFileBase FileData) {

}

用 $('#/.blah').val() 或等价替换 '5'

于 2014-07-22T23:24:54.213 回答