2009-10-22 14 views
6

Hola chicos, tengo que cargar algunas cargas de archivos en mi proyecto mvc y esa parte está funcionando muy bien, solo quiero saber qué necesitaré agregar a mi acción del controlador para obtener acceso a las variables scriptData que estoy pasando desde el javascript uploadifycómo acceder a scriptData desde uploadify en asp.net Controlador MVC

EDIT durante algo más de una aclaración:

mi guión uploadify es el siguiente:

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

Tengo curiosidad por cómo me puede acceder a estos datos desde dentro de mi acción del controlador

Respuesta

4

Encontré una respuesta que funciona sola, al aceptar un formulario en mi acción de controlador, puedo acceder al parámetro categoryID del script uploadify.

EDIT durante algún código:

[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

También puede usar la opción formData -' formData ': {' someKey ':' someValu e ',' someOtherKey ': 1} – rboarman

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> 

pública ActionResult Subir (id larga, HttpPostedFileBase FileData) {

}

reemplazar '5' con $ ('#/.blah '). val() o equiv

+0

Gracias por su respuesta. Sin embargo, creo que hay algunos problemas con los caracteres de comillas anidados. Considera editar tu respuesta? – Barett

Cuestiones relacionadas