2014-12-04 81 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屬性,但您仍然可以在您的對象上訪問它們。還可以嘗試擴展(「檢查」)記錄的對象