我这里是 Asp.net MVC 4 的项目, 在VS2010的调试状态下,是可以上传的; 但发布之后,上传会出现 HttpError 404的错误。

原因是:uploader 指向的后台Controller,在发布之后找不到

'uploader': '/RefactorTest/Upload',

而用 @Url.Content 包起来,如下:


'uploader': '@Url.Content("~/RefactorTest/Upload")',



以下是Uploadify 3.1的调用例子:

<link href="@Url.Content("~/Scripts/uploadify-v3.1/uploadify.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.8.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/uploadify-v3.1/jquery.uploadify-3.1.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#file_upload').uploadify({
'buttonText': 'Upload',
'swf': '@Url.Content("~/Scripts/uploadify-v3.1/uploadify.swf")',
//'buttonImage': '@Url.Content("~/Scripts/uploadify-v3.1/Review.jpg")',
'uploader': '@Url.Content("~/RefactorTest/Upload")',

'onUploadSuccess': function (file, data, response) {
eval("data=" + data); // this line can not be removed.
//alert('文件 ' + file.name + ' 已经上传成功,并返回 ' + response + ' 保存文件名称为 ' + data.SaveName);
if (!data.Success)
{
$("#linkError").html(data.Message);
$("#dvTree").html("");
}
else
{
$("#linkError").html("");
$("#file_show").val(data.SaveName);
$("#imgWait").css("display", "inline");
$("#btnReview").click();
}
}

});
});
</script>

效果图如下:

uploadify 3.1 HttpError 404 解决方案_html