Caricare image con Javascript

giovedì 20 gennaio 2005 - 17.14

Muten Profilo | Junior Member

var f = new Image();
f.src = document.Form1.filMyFile.value;
lung_imm = f.fileSize;
if (lung_imm >= 1000)

ho queste 4riighe di codice nella mia pagina aspx, ogni volta lung_imm=-1, è come se l'if venisse eseguito senza aspettare che effettivamente l'immagine venga caricata in f.

ps ho provato a mettere un alert subito dopo f.src=.... e lung_imm ha li valore esatto

Brainkiller Profilo | Guru

Perchè non provi a forzare la proprietà .src con una stringa di testo contenente appunto il nome dell'immagine ?
Non vorrei che ci sia qualche errore nel recuperare il nome con document.all ecc.ecc.

Prova così e fai sapere.
ciao
david

Muten Profilo | Junior Member

var f = new Image();
f.src = "c:\image\logo.jpg"
lung_imm = f.fileSize;
if (lung_imm >= 1000)

ho midifcato così lo script, ma il rusultato non cambia :-(

ps ho capito male il tuo consiglio ???

Brainkiller Profilo | Guru

Il client ci mette un po' prima di caricare l'immagine.
Se infatti carichi la pagina e poi fai un refresh vedrai che verrà valorizzata la dimensione.

Questo è il codice che ho usato:

<script language="Javascript">
function loadimage()
{
var f = new Image();
f.src = 'file:///C:/polifemo.jpg';
var lung_imm = f.fileSize;

alert(lung_imm);

return;
}

</script>

Se tu carichi la pagina alla prima volta esce un -1 ma successivamente se fai un refresh viene valorizzato.
Questo perchè non devi interrompere il caricamento. Quando fai l'if l'immagine non è ancora caricata.

In realtà tu cosa vuoi fare, perchè vuoi fare un controllo sulla dimensione ?

ciao
david

Muten Profilo | Junior Member

esatto, il problema è che se non metto un alert, il client non carica l'immagine.

vorrei fare un controllo (lato client) per impedire all'utente di caricare immagine troppo grosse
per ora ho rivolto con un cilco DO WHILE ... ma questa soluzione non mi sembra la migliore

Brainkiller Profilo | Guru

Infatti è la stessa che ho usato anche io ma anche a me non è piaciuta molto.
Ricordo che usando Dreamweaver usava uno script particolare Javascript per fare un preload delle immagini per gli effetti di Rollover.
Se hai dreamweaver prova a vedere il codice che genera.

ciao
david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5