Javascript 如何获取dropzone对象元素

Javascript 如何获取dropzone对象元素,javascript,dropzone.js,Javascript,Dropzone.js,使用“处理”方法时 例如,如果您使用 console.log(file) 你会得到 File {upload: Object, status: "uploading", previewElement: div.dz-preview.dz-file-preview.dz-processing, previewTemplate: div.dz-preview.dz-file-preview.dz-processing, accepted: true…} accepted: true height:

使用“处理”方法时

例如,如果您使用

console.log(file)
你会得到

File {upload: Object, status: "uploading", previewElement: div.dz-preview.dz-file-preview.dz-processing, previewTemplate: div.dz-preview.dz-file-preview.dz-processing, accepted: true…}
accepted: true
height: 565
lastModified: 1257514480140
lastModifiedDate: Fri Nov 06 2009 08:34:40 GMT-0500 (Eastern Standard Time)
name: "smiling picture 7.jpg"
previewElement: div.dz-preview.dz-processing.dz-success.dz-complete.dz-image-preview
previewTemplate: div.dz-preview.dz-processing.dz-success.dz-complete.dz-image-preview
processing: true
size: 506340
status: "success"
type: "image/jpeg"
upload: Object
webkitRelativePath: ""
width: 849
xhr: XMLHttpRequest
__proto__: File
upload
status
previewElement
previewTemplate
accepted
processing
因此,您可能认为您可以使用该文件访问其中的任何内容*

例如,file.name和file['name']都会按预期返回“微笑图片7.jpg”。如果试图获取高度或宽度,它们都返回“未定义”

那么到那时呢

Object.keys(file).forEach(function (key) {
  console.log(key);
});
你会得到

File {upload: Object, status: "uploading", previewElement: div.dz-preview.dz-file-preview.dz-processing, previewTemplate: div.dz-preview.dz-file-preview.dz-processing, accepted: true…}
accepted: true
height: 565
lastModified: 1257514480140
lastModifiedDate: Fri Nov 06 2009 08:34:40 GMT-0500 (Eastern Standard Time)
name: "smiling picture 7.jpg"
previewElement: div.dz-preview.dz-processing.dz-success.dz-complete.dz-image-preview
previewTemplate: div.dz-preview.dz-processing.dz-success.dz-complete.dz-image-preview
processing: true
size: 506340
status: "success"
type: "image/jpeg"
upload: Object
webkitRelativePath: ""
width: 849
xhr: XMLHttpRequest
__proto__: File
upload
status
previewElement
previewTemplate
accepted
processing
所以我的问题是,为什么一切都如此不一致。当您记录整个对象时,它会显示所有内容;当您尝试访问某些对象时,它们工作,而有些不工作;当您循环记录对象时,它只记录某些对象。我需要访问高度和宽度,但似乎无法访问。

这不是一个真正正确的“答案”,但它是其他需要访问这些属性的人的解决方案

我不知道为什么有些方法可以正确地访问东西,而有些方法不能。如果你使用

dropzone.on("complete", function(file) {
相反,属性起作用。我更愿意检查添加或处理方法,而不是在过程结束时检查,但我想这个库有一些限制。

这不是一个真正正确的“答案”,但对于需要访问这些属性的任何其他人来说,它都是一个解决方案

我不知道为什么有些方法可以正确地访问东西,而有些方法不能。如果你使用

dropzone.on("complete", function(file) {
相反,属性起作用。我更愿意检查添加或处理方法,而不是在过程结束时检查,但我想这个库有一些限制