ASP.NET MVC 컨트롤러에서 업로드에서 ScriptData에 액세스하는 방법

StackOverflow https://stackoverflow.com/questions/1609077

  •  05-07-2019
  •  | 
  •  

문제

안녕하세요 여러분, MVC 프로젝트에서 일부 파일 업로드를 처리하는 업로드를 얻었습니다. 그 부분은 매우 잘 작동합니다. 제가 전달하는 스크립트 데이터 변수에 액세스하기 위해 컨트롤러 작업에 추가해야 할 사항을 알고 싶습니다. JavaScript를 업로드하십시오

좀 더 설명을 위해 편집 :

내 업로드 스크립트는 다음과 같습니다.

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

컨트롤러 작업 내 에서이 데이터에 어떻게 액세스 할 수 있는지 궁금합니다.

도움이 되었습니까?

해결책

내 컨트롤러 동작에서 FormCollection을 수락하여 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";
 }

다른 팁

<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 업로드 (Long ID, httppostedFileBase FileData) {

}

'5'를 $ ( '#/. blah')로 바꾸십시오. val () 또는 equiv

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top