Kiterjesztés nélküli kép nem tölthető be IE-ben

Kiterjesztés nélküli kép nem tölthető be IE-ben
2014-07-19T23:54:31+02:00
2014-07-20T15:46:43+02:00
2022-12-01T09:30:36+01:00
Akybron
three.js-sel szeretnék textúrát betölteni kiterjesztés nélkül tárolt, amúgy png file-okból.

var texture = THREE.ImageUtils.loadTexture(source);
Chrome és FireFox esetében jól működik, IE-ben viszont rossz.
A textúra üres lesz. a texure.image mező értéke null.
Persze a kiterjesztéssel ellátott képekkel működik.

Némi próbálkozás után arra jutottam, hogy simán egy képet sem tud az IE így betölteni.

Az 'akármi' nevű kép betöltése üres képet ad:

var image = new Image(); image.src = 'akármi';
De ha átnevezem a képet akármi.png-nek, akkor működik a dolog

var image = new Image(); image.src = 'akármi.png';
Mit tegyek, hogy IE-ben is jó legyen? A képeket egyéb technikai okokból nem nevezhetem át (így vannak tárolva).
Mutasd a teljes hozzászólást!
Hali!

Ha az adott fájl (kiterjesztés nélküli kép) megfelelően van kiszolgálva szerver-oldalról (megfelelő content-type fejléc), akkor semmi gond nem lehet. A böngészők ugyanis elsődlegesen ezt nézik. Ha ez nem megfelelő, akkor kezdenek el "saját kutatásba": fájlnév (és így a kiterjesztés) vizsgálata, esetleg belenéznek a fájlba, ismert fejlécek után keresve. Persze, ezt böngészője válogatja.

Neked csak annyit kell tenned, hogy megfelelő fejléccel küldöd a képet a böngészőnek. Ezt pl. .htaccess használatával -- is -- megteheted (Apache esetén). Kulcsszavak: AddType, ForceType, DefaultType (esetleg Files vagy FilesMatch), stb.

Működés közben láthatod: JavaScript -- Kép betöltése kiterjesztés nélküli fájlból

Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd