how to access scriptData from uploadify in asp.net MVC controller
-
05-07-2019 - |
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
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