当我使用uploadify将照片上传到服务器时,我使用以下脚本(脚本放在Photo.aspx中(这是UploadController和Photo动作的视图)):
<script type="text/javascript">
$(document).ready(function () {
$("#fileInput").uploadify({
uploader: "../../Images/uploadify.swf",
script: "../../Upload/Upload.ashx",
cancelImg: "../../Images/cancel.png",
auto: true,
multi: true,
folder: "Folder/Photos",
onError: function (a, b, c, d) {
if (d.status == 404)
alert("Could not find upload script. Use a path relative to: bla ");
else if (d.type === "HTTP")
alert("error " + d.type + ": " + d.info);
else if (d.type === "File Size")
alert(c.name + " " + d.type + " Limit: " + Math.round(d.sizeLimit / 1024) + "KB");
else
alert("error " + d.type + ": " + d.text);
}
});
});
</script>
找到here
在我选择文件并且脚本开始上传之前,一切正常。错误HTTP:404。这意味着,它找不到脚本文件。我尝试了一切: 脚本:“../../Upload.ashx”, 脚本:“../ Upload.ashx”, 脚本:“Upload.ashx”等。
Upload.ashx位于Views / Upload / Upload.ashx(此文件夹还包含UploadController中包含uploadify脚本的Photo.aspx)。脚本在我的页面末尾加载。我不明白为什么uploadify在我使用'script:“Upload.ashx”'属性时无法找到脚本。有人可以帮忙吗?
答案 0 :(得分:0)
您总是获得404的原因是您不应该直接链接到视图。在控制器中创建一个接受HttpPostedFileBase文件的操作方法。这是Phil Haack的一篇文章:http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx