2013-06-24 34 views
0

讓我首先說我不是一個jQuery大師,我真的知道這是超過我的頭,這就是爲什麼我來這裏。jQuery:查找文件大小並將其添加到鏈接

有沒有辦法用jQuery來查找頁面上鍊接的文件大小,然後在鏈接旁邊注入/添加文件大小的文本?

這裏是我的問題

在我的一個網頁,我有我的簡歷的鏈接是一個PDF文件,並提高可用性是正確的有文件類型文件大小下一個鏈接,以便用戶可以選擇是否要點擊該鏈接。所以鏈接會讀取像"Download my resume (PDF/80KB)"

問題是,我不斷更新我的簡歷和上傳一個新的PDF文件,當然,這有一個不同的文件大小,所以我總是回到HTML和改變文字以反映新的文件大小。

有沒有辦法使用jQuery自動執行此操作...或者純JavaScript代碼?

我發現this script並作了一個demo here in Codepen但它似乎沒有工作。

任何幫助,這將不勝感激。

+0

你爲什麼不計算文件大小serverside? – Alp

+0

因爲我不是程序員,所以我不知道如何:p。如果您有任何建議,最好能爲每個人提供更多關於它的信息。謝謝。 –

+0

取決於您在服務器上使用哪種語言來發布這些html文件。 – Alp

回答

2

你寫(兩次)

json.headers['Content-Length'] 

當屬性的名稱(你可以看到它在響應的正文)實際上是小寫:

json.headers['content-length'] 

如果你改正此密鑰的輸出爲(pdf 101.6 KB)

另請注意,如果您的簡歷和下載頁面都位於同一個域中,則可以簡單地使用HEAD ajax requ est並閱讀content-length響應標題

+1

這裏是一個更新的codepen:http://codepen.io/alp82/pen/tsgJc – Alp

+0

這工作偉大的法布里奇奧!一個簡單的問題:我看到文件類型和文件大小是「浮動」的。有沒有一種方法可以將它們封裝在用於CSS目標的'標籤中? –

+0

大家好。由於URL http:// json-head.appspot.com正在返回503響應,因此該腳本不再工作。有誰知道一種方法來獲得由本網站服務的主腳本,以便可以調用本地文件來代替?再次感謝。 –

0

如果大小將在80KB左右,那麼這不會成爲問題。把尺寸放在鏈接上似乎已經過時了。簡單的做法是找出一個理論上的最大值,例如150KB,它永遠不會超過,並把"Download my resume (PDF/< 150KB)"

除此之外,我會認爲唯一的方法來做這個客戶端將是下載文件,計算出大小,並更新鏈接,哪種打敗對象。

+0

它並沒有過時,你只是想以不同的方式來做,這比根本不做任何事都要好。 「選擇」80KB是一個任意的決定,不考慮用戶的決定權。也許對你來說8​​0KB不是什麼大不了的,但你永遠不知道它會是誰。因此,能夠閱讀**精確**文件大小比「估計」範圍更好的用戶體驗。謝謝。 –

相關問題