我在我的MVC 3.0應用程序中使用'Uploadify'Jquery插件來上傳多個文件。 它的工作正常,但顯示上傳失敗的文件列表。通過'Uploadify'跟蹤成功上傳的文件名Jquery插件
如何跟蹤成功上傳的文件名?
我的腳本是這樣的:
<link href="@Href("~/Content/uploadify.css")" rel="stylesheet" />
<script src="@Href("~/Scripts/jquery-1.4.1.js")" type="text/javascript"></script>
<script src="@Href("~/Scripts/jquery.uploadify.js")" type="text/javascript"></script>
<script type="text/javascript">
$(window).load(
function() {
$("#fileuploader").fileUpload({
'uploader': '/Scripts/uploader.swf',
'cancelImg': '/Images/cancel.png',
'buttonText': 'Select Image',
'script': 'Home/Upload',
'folder': '/uploads',
'fileDesc': 'Image & XML Files',
'fileExt': '*.jpg;*.jpeg;*.gif;*.png;*.xml',
'multi': true,
'auto': true
});
}
);
</script>
我的HTML代碼:
<div id="fileuploader"></div>
<div>Upload Status</div>
Successful Files : <div> @TempData["SuccessfulFileList"]</div>
Failed Files :<div> @TempData["FailedFileList"]</div>
的控制器代碼是這樣的:
private static List<string> _successfulFileList = new List<string>();
private static List<string> _failedFileList = new List<string>();
public string Upload(HttpPostedFileBase fileData)
{
try
{
var fileName = this.Server.MapPath("~/uploads/" + System.IO.Path.GetFileName(fileData.FileName));
fileData.SaveAs(fileName);
_successfulFileList.Add(fileName);
}
catch
{
var failedFileName = fileData.FileName;
_failedFileList.Add(failedFileName);
}
TempData["SuccessfulFileList"] = _successfulFileList;
TempData["FailedFileList"] = _failedFileList;
return "Some Files Get uploaded";
}
到TempData是沒有得到印在我的UI。 – Biki
你有沒有調試過,看看'_successfulFileList'和'_failedFileList'實際包含了什麼? – Jack
由於它們是靜態的,我可以發現只有_successfulFileList被填充,但即使它們存儲在tempdata中,它們也不會在我的cshtml中可見。 – Biki