Javascript 如何处理用户使用<;选择文件后删除文件;输入类型=";文件"&燃气轮机;以HTML格式?

Javascript 如何处理用户使用<;选择文件后删除文件;输入类型=";文件"&燃气轮机;以HTML格式?,javascript,html,input,file-io,Javascript,Html,Input,File Io,我正在处理一个HTML表单,它有一个输入控件type=“file”,我在AJAX调用中提交该控件。一切都很好-现在一位同事提出了一个挑战,用户可能会删除他刚刚在输入控件中选择的文件(从磁盘)。 当然,没有用户会这么做……但我想回答他的问题。 我在AJAXSubmit函数中记录了文件[“size”],并惊讶地发现它返回了一个值——即使该文件已被删除。 然后我继续执行formData.append(“file”,file)似乎也能正常工作——只有倒数第二个xhr.send(formData)在控制台

我正在处理一个HTML表单,它有一个输入控件
type=“file”
,我在AJAX调用中提交该控件。一切都很好-现在一位同事提出了一个挑战,用户可能会删除他刚刚在输入控件中选择的文件(从磁盘)。 当然,没有用户会这么做……但我想回答他的问题。 我在AJAXSubmit函数中记录了文件[“size”],并惊讶地发现它返回了一个值——即使该文件已被删除。 然后我继续执行
formData.append(“file”,file)
似乎也能正常工作——只有倒数第二个
xhr.send(formData)在控制台中导致错误

更新: 我尝试了(双关语)一个
Try..Catch
,但没有效果-错误消息记录在控制台上(指执行
xhr.send(formData);

我的下一个想法是向xhr添加一个错误处理程序:

    xhr.onerror= function(xhr, status, error){
        console.info("xhr",xhr,"error",error,"status",status);
        var errorMessage = xhr.status + ': ' + xhr.statusText
        alert("Error while handling upload\n"+errorMessage);
    }
调用时,
状态
错误
未定义!
xhr
有一个
类型
元素,该元素的值为
错误
,这是我能得到的最好结果。
xhr
中似乎没有任何关于问题的指示。似乎我必须使用错误作为“错误处理上传”的指标无法得到更多的细节,还是我错过了什么