Question

Hey guys, i've got uploadify handling some file uploads on my mvc project and that part is working very nicely i just want to know what i will need to add to my controller action to get access to scriptData variables that i am passing from the uploadify javascript

EDIT for some more clarification:

my uploadify script is as follows:

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();
});
});

I am curious how I can access this data from within my controller action

Was it helpful?

Solution

Found an answer working through it on my own, by accepting a formcollection in my controller action i can access the categoryID parameter from the uploadify script.

EDIT for some code:

 [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";
 }

OTHER TIPS

<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) {

}

replace '5' with $('#/.blah').val() or equiv

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top