uploadify
MVC3プロジェクトにfileuploadプラグインを使用しています。
コントローラへのアップロードファイルを使用しようとしています。
マルチファイルアップロードとシングルファイルアップロードを一緒に使用するにはどうすればよいですか?
IEnumerable<HttpPostedFileBase> files
複数のファイルとHttpPostedFileBase files
単一のファイルのアップロードに使用することを知っています。これらを組み合わせる方法。
私のプロジェクトでは、ユーザーは複数のファイルを選択することも、単一のファイルのみを選択してコントローラーにアップロードすることもできます。
したがって、IEnumerable<HttpPostedFileBase> files
コントローラーアクションで使用すると、単一のファイルを取得できず(ファイルがnull)、使用HttpPostedFileBase files
しても何も表示されない場合、ここではファイルは常にnullになります。
単一ファイルのアップロードを使用する方法。複数のファイルのアップロードを取得できますが、単一のファイルを取得することはできません。
この作品を手に入れる方法は?
これが私のコードです:
HTML
<body>
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div id="fileupload" style="display:none">
<div style="clear: none;">
File to Upload:
<input type="file" name="file_upload" id="file_upload" style="padding-left: 50px;"/><hr />
</div>
<p style="text-align: right;">
<input type="submit" id="selectimage" value="Ok" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"/>
<input type="submit" id="cancelimage" value="Cancel" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" onclick="cancelupload();" />
</p>
</div>
<input type="button" id="btnImg" />
<div id="filecontent">
Added Images:
</div>
}
</body>
<script>
$(function(){
$('#file_upload').uploadify({
'checkExisting': 'Content/uploadify/check-exists.php',
'swf': '/Content/uploadify/uploadify.swf',
'uploader': '/Home/Index',
'auto': false,
'buttonText': 'Browse',
'fileTypeExts': '*.jpg;*.jpeg;*.png;*.gif;*.zip',
'removeCompleted': false,
'onSelect': function (file) {
$("#selectimage").click(function () {
$("#file_upload-queue").appendTo("#filecontent");
});
}
});
});
</script>
コントローラのアクション
public ActionResult Index(IEnumerable<HttpPostedFileBase> fileData)
{
foreach (var file in fileData)
{
if (file.ContentLength > 0)
{
string currpath = Server.MapPath("~/Images/");
currpath = Path.Combine(Server.MapPath("~/Images/Admin"), file.FileName);
file.SaveAs(currpath);
}
}
return View();
}
単一ファイルのアップロードと複数ファイルのアップロードを機能させるには、コントローラーのアクションで何を変更する必要がありますか?
アップデート
どちらIEnumerable<HttpPostedFileBase> fileData
も機能していませHttpPostedFileBase fileData
ん