ASP.NET MVC 컨트롤러에서 업로드에서 ScriptData에 액세스하는 방법
-
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
제휴하지 않습니다 StackOverflow