2010-07-17 25 views

cevap

1

Javascript'te bulunamazsınız (üzgün büyülü jQuery burada bile yardımcı olamaz!). Görüntünün sizin için getirilmesi ve sayfanıza geri dönebileceğiniz boyutu hesaplamak için bir sunucu tarafı komut dosyasına ihtiyacınız olacaktır.

Not - downvoters dikkat edin, OP google etki alanına sahip değil! Bu dışarı

+0

Herhangi indirilebilir içerik bir büyüklüğe sahiptir ve bu bilgileri almak birkaç iyi tanımlanmış yolları vardır. – Manfre

+0

@ user326404 js içinde değil Korkarım – redsquare

+1

@redsquare - Bu yanlış. var xhr = new XMLHttpRequest(); xhr.open ('HEAD', 'http: //whatever.file.git', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status == 200) { alert ('Boyutta bayt:' + xhr.getResponseHeader ('Content-Length'))); } } }; xhr.send (null); – bmelton

3

Sen görüntü URL için bir HTTP HEAD isteği yapabilirdi. Bu, içerik uzunluğunu (a.k.a. dosya boyutu) içeren HTTP üstbilgileri döndürür. Bu, sunucuya, statik olarak sunulmak yerine görüntü oluşturulurken çok verimli olmayan ek bir istek gerektirir.

Ben sürekli kesin dosya boyutunu almak için herhangi bir tek yol bilmiyorum
+0

Akıllı! Bilinmesi güzel :) – johnjohn

3

, ancak bazı çemberler üzerinden atlamak için istekli iseniz, yapabilirsin:

1) boyutlarına dayalı tahmin ve dosya türü. Sıkıştırma teknikleri nedeniyle, bazı büyük değişiklikler var, ama muhtemelen bazı istatistikler çalıştırabilir ve yarı-iyi bir sezgisel ile gelebilir.

2) IE'de, görüntünün fileSize özelliğini kullanın. Canvas'ı destekleyen diğer tarayıcılarda dataURL'ı almak için in this question on getting image data in JavaScript tarif edilen tekniği kullanın, ardından matematiği yapın (base64 ün 4/3 boyutunda bir artış olması nedeniyle 3/4 ile çarpın).

Düzenleme

3) diğerleri HTTP Başlıkları alma parlak VE hassastır hakkında (Fabien Bernede yanıtında bağlantılı söz konusu özenli özellikle gibi) verdik öneri. Muhtemelen bazı durumlarda çapraz etki alanı kısıtlamaları atar, ancak yine de en tutarlı ve etkili yöntemdir.

+1

kesinlikle 'en tutarlı' ve etkili bir yöntem görüntü yakala ve değerlendirmek için bir sunucu tarafı vekil sunucusudur! – redsquare

+0

Tamamen düzeltebilir ve kurşuna dikkat etmeliyim - basitçe onların bazı kısıtlamalara ya da ilgilere sahip olduklarını varsaydım; –

-3

$ fileSize = strlen (file_get_contents ($ imageSrcTag)) // < - php

+1

Asker javascript deyin. Bu nasıl bir cevap? – erm3nda

İlgili konular