4

javascriptで画像サイズを取得するためにこのコードを見つけました:

function getImgSize(imgSrc)
{
    var newImg = new Image();
    newImg.src = imgSrc;
    var height = newImg.height;
    var width = newImg.width;
    alert ('The image size is '+width+'*'+height);
}

完全に機能しますが、保護されている画像のサイズを取得する必要があります。画像にアクセスするには、image.php?id = IMAGE_IDページを使用します。このページでは、権限を確認して画像を送り返すため、機能します。しかし、このリンクをjavascript関数に配置すると、そのサイズを取得するために機能しません。何か助けはありますか(画像の直接リンクを配置すると、.htaccessファイルでブロックされているため、どちらも機能しません)?

画像を含むフォルダには、あらゆるものにアクセスできる.htaccessファイルも含まれています。画像を取得するには、次のPHPページを使用します。

Image.php:

//check if the user has permission
//if not, show a image with the text 'no permission'
//if it's ok
$filename = "images\\fotos\\" . $imgl;
$image = imagecreatefromjpeg($filename);
header('Content-type: image/jpeg');
imagejpeg($image, null, 100);
imagedestroy($image);
4

2 に答える 2

2

これを行う正しい方法は次のとおりです。

var newImg = new Image();

newImg.onload = function ()
{
    var height = newImg.height;
    var width = newImg.width;
    alert ('The image size is '+width+'*'+height);
};

newImg.src = imgSrc;
于 2012-02-18T11:31:23.403 に答える
2

.htaccessでブロックされている場合は、何もできません。つまり、どのような状況でもサーバーの外部からアクセスすることはできません。

画像サイズを取得する特別なphpファイルを作成してから、このファイルをAJAXで呼び出すという問題を解決できます。ただし、これには追加のサーバーリソースが必要です。

于 2012-02-18T11:29:53.747 に答える