C# jquery uploadify插件:即使出现错误也会触发OnalComplete

C# jquery uploadify插件:即使出现错误也会触发OnalComplete,c#,.net,jquery,asp.net,asp.net-mvc,C#,.net,Jquery,Asp.net,Asp.net Mvc,我使用jquery uploadify插件让用户上传个人资料图片。我正在使用ASP.NETMVC。我有一些问题希望得到帮助: $popup.find('#fileInput').uploadify({ 'uploader': root + '/Content/Flash/uploadify.swf', 'script': root + '/Profile/ChangeAvatar', 'scriptData': { 'userName': $popup.find('#Us

我使用jquery uploadify插件让用户上传个人资料图片。我正在使用ASP.NETMVC。我有一些问题希望得到帮助:

$popup.find('#fileInput').uploadify({
    'uploader': root + '/Content/Flash/uploadify.swf',
    'script': root + '/Profile/ChangeAvatar',
    'scriptData': { 'userName': $popup.find('#UserName').val(), 'token': $popup.find('#Auth').val() },
    'cancelImg': root + '/Content/Images/cancel.png',
    'auto': true,
    'multi': true,
    'fileDesc': 'Image Files',
    'fileExt': '*.jpg;*.png;*.gif;*.bmp;*.jpeg',
    'queueSizeLimit': 90,
    'sizeLimit': 4000000,
    'buttonText': 'Change Avatar',
    'width': 150,
    'folder': root + '/uploads',
    'onAllComplete': function (event, queueID, fileObj, response, data) {
        //if (data.filesUploaded == "1") {
        ShowMessage("Avatar uploaded successfully.");
        //}
    },
    'onError': function (event, ID, fileObj, errorObj) {
        var msg;
        if (errorObj.type === "File Size")
            msg = 'File size cannot exceed 4MB';
        else
            msg = "An error occured while attempting to upload your avatar."

        ShowMessage(msg);
        this.hide();
    }
1.即使出现错误,也会触发OnalComplete事件。我可以检查什么以查看是否存在错误?因为如果有错误,我不想显示我的成功消息

2.上传一个文件后,如果我试图立即上传另一个文件,我会得到一个错误“文件正被另一个进程使用”。我知道问题可能是因为第二次上传时使用了相同的文件名(用户名)。但我不知道我怎么才能解决这个问题


谢谢

您的第一个错误是由于OnalComplete与OnalSuccess(实际上不存在)类似。就像在jqueryajax调用中一样,onComplete在javascript完成运行时激发,完全不考虑是否发生任何错误。但是,OnalComplete确实包含数据参数,该参数具有“errors”属性,该属性是上载过程中发生的错误数的计数。通过检查该值,您可以确定这是一个干净的上传还是出现了问题

至于第二个错误,我真的不知道该怎么办。我以前也遇到过同样的问题,不记得我是否设法解决了它。我能给出的唯一建议是看看实际的php或cs文件,或者在上传后实际保存的文件,确保它挂断了文件流并释放了文件的使用情况