2014-12-04 82 views
0

在CoffeeScript中我有这样的代码,它试图从图像中提取GPS信息:javascript:File对象是不可变的吗?

EXIF.getData this, -> 
       lat = EXIF.getTag(this, "GPSLatitude") 
       long = EXIF.getTag(this, "GPSLongitude") 
       alert(lat) 
       alert(long) 
       file.lat = lat 
       file.lng = long 
       console.log(file) 

警报告诉我,lat和长值都存在,但它不会存储在文件目的。 控制台日志输出是这样的:

File { size: 95923, type: "image/jpeg", name: "pic1.jpg", path: "", lastModifiedDate: Date 2014-12-04T16:05:37.000Z, mozFullPath: "/home/me/Pictures/pic1.jpg" } 

是File对象以某种方式不变/只读作为一个JavaScript对象?我错过了什么吗?

我知道文件是敏感的,所有的属性是只读的,但我很惊讶一个不能更改的文件对象添加自己的属性...(它会这样) 所以不知何故

+0

_all属性是只读的_那么,它告诉你几乎所有的东西,不是吗? – 2014-12-04 16:39:45

+0

文件对象是*主机对象*,但它们几乎可以表现出他们想要的。 – 2014-12-04 16:40:23

+1

您使用哪种浏览器,Firefox?你使用的是什么控制台?你试过简单地访问'file.lat'吗?文件对象是可扩展的,我猜你只是被日志所愚弄。 – Bergi 2014-12-04 16:50:41

回答

1

没有, File对象不是不可变的。你可以随时使用新的属性来扩展它们。

看起来好像你被你的控制台所愚弄。由于某种原因,它没有输出latlng属性,但您仍然可以在您的对象上访问它们。还可以尝试扩展(“检查”)记录的对象