我在解决这个问题上遇到了一些问题。
用户可以将图像上传到我表单中名为photo_id的变量。我将photo_id中的第一个文件对象发送到数据库以创建文件对象。
if (photo_id) {
var file=photo_id[0]
//send to database and set id to new object created
}
但是,有时,用户会单击文件上传按钮但不会添加文件。仍然会创建一个fileList对象并将其放入photo_id变量中,但它的长度为0,这使得它未定义。
在这种情况下,当我运行时:
if (photo_id ) {
var file=photo_id[0]
....
}
我得到了
Cannot read property '0' of undefined
我需要检查以确保FileList长度大于0,但即使我这样做:
if (photo_id[0].length >0) {
var file=photo_id[0]
//send to database and set id to new object created
}
我收到错误:
cannot read length of undefined
如何检查FileList存在且两个长度> 0的情况?
答案 0 :(得分:2)
您正在检查第一个元素的长度,但没有第一个元素。使用:
if (photo_id && photo_id.length > 0) {...}