Javascript 如何处理用户使用<;选择文件后删除文件;输入类型=";文件"&燃气轮机;以HTML格式?
我正在处理一个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)在控制台
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
中似乎没有任何关于问题的指示。似乎我必须使用错误作为“错误处理上传”的指标无法得到更多的细节,还是我错过了什么