Ciao a tutti
è possibile controllare con jquery se un file che seleziono è un'immagine?
Per esempio, seleziono un file per un controllo input e prima del postback voglio controllare se è veramente un file immagine o altro.
Grazie mille
Ciao a tutti
è possibile controllare con jquery se un file che seleziono è un'immagine?
Per esempio, seleziono un file per un controllo input e prima del postback voglio controllare se è veramente un file immagine o altro.
Grazie mille
ma usi qualche plugin di jquery per effettuare l'aupload del file? Se è così è già presente un filtro in fase di selezione dei file, oppure nella fase di postback crei una pagina php che controlla il file (estensione o altro).
![]()
Il programmatore è colui che converte
la caffeina in codice.
Se effettui l'upload come detto precedentemente c'è in genere un filtro.
Altrimenti i file vengono controllati attarverso la verifica di:
- estensione : jpeg, tiff , altro ----> devi usare le espressioni regolari
- mime : immagini ammesse ---> devi usare funzioni ad hoc in base al linguaggio lato sevre che usi.
Per quanto riguarda il mime:
Se il file è residente sul client non lo puoi verificare perchè javascript non può accedere per motivi di sicurezza ai file del client, infatti nel'upload il controllo reale viene fatto tramite interazioni ajax con il server. Se è residente sul server vale lo stesso discorso ed è quindi il linguaggio ( tipo PHP) che ti verifica il mime.
Se è residente su un altro server cui non hai accesso puoi solo vedere la risposta nell'header HTTP, ma è facile da falsificare
Per l'estensione può essere verificata come vuoi
Ciao
io uso asp.net e come linguaggio c#.
ho fatto in questo:
ho trovato un plug-in per l'upload del file 'upload', al click su un button richiamo una funzione che controlla i dati e in questa funzione richiamo il plug-in per controllare se l'immagine è valida:
function CheckDati(e) {
var errore = false;
var msg_error = '';
//Controllo società
var n = $('input:checked').length;
if(n == 0)
{
errore = true;
msg_error += (msg_error != '' ? '
<%= Costanti.ERR_NO_SOCIETA %>' : '<%= Costanti.ERR_NO_SOCIETA %>');
}
//Controllo immagine
$('#dvCaricaImmagine').upload('../../Handler/myValidator.ashx?type=image',
function (response) {
var result = response.substring(response.indexOf('{'), response.indexOf('}') + 1);
var myValidatorObject = eval('(' + result + ')');
if (myValidatorObject.error != '') {
alert(myValidatorObject.error);
e.preventDefault();
}
},
'text');
if (errore) {
alert(msg_error);
e.preventDefault();
}
else {
}
}
Il problema è che richiama myValidator.ashx, ma l'esecuzione del codice non attende che myValidator.ashx abbia controllato se l'immagine è valida ma esegue immediatamente il postback se gli altri controlli sono ok.
Perchè? Come posso far attendere che il controllo sull'immagine sia terminato?
Grazie mille