質問失礼します。
タイトル通りですがどうしても方法がわかりません。
どの様に記述すればクリックした画像のサイズ(何バイト)とタイプ(jpgやpng等)を取得できるのでしょうか?
現在はこのように記述しております。
HTML
<div class="file"><a href="#"><img src="images/sample.jpg"></a></div> <dl> dt>ファイル容量: </dt> <dd id="file_capa"></dd> <dt>ファイルタイプ: </dt> <dd id="file_type"></dd> <dt>サイズ: </dt> <dd id="file_size"></dd> </dl>
js
$(".file a").on('click', function(){ var $this_children = $(this).children('img'); var img = new Image(); img.src = $this_children.attr('src'); var nw = img.width; var nh = img.height; $("#file_size").text(nw + '×' + nh + 'px'); var fileType = img.type; //これはダメでした var fileCapa = img.size; //これはダメでした $("#file_type").text(fileType); $("#file_capa").text(fileCapa); return false; function filesize(url) { var req = this.window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); if (!req) { throw new Error('XMLHttpRequest not supported'); } req.open('HEAD', url, false); req.send(null); if (!req.getResponseHeader) { try { throw new Error('No getResponseHeader!'); } catch (e) { return false; } } else if (!req.getResponseHeader('Content-Length')) { try { throw new Error('No Content-Length!'); } catch (e2) { return false; } } else { return req.getResponseHeader('Content-Length'); } } });
他にfilesize(img)等も試しましたがダメでした。
参考先サイト等でも教えていただけましと助かります。
よろしくお願いいたします。
追記
製作者が自作したメソッドは記述しております。
そして
filesize(img);
や
var fileSrc= $this_children.attr('src');
var fileCapa = filesize(fileSrc);
$("#file_capa").text(fileCapa);
とした場合、画面にはfalse、
エラーは下記の内容が出ます。
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/01 10:19