Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Eu estou com um problema. Quero fazer o upload de arquivos para o meu servidor através de um input do tipo file, mas não consigo verificar o tamanho do arquivo ANTES de enviar para o servidor.
Eu tenho essa função:
function filesize (url) {
// Get file size
//
// version: 1004.2314
// discuss at: [http://phpjs.org/functions/filesize](http://phpjs.org/functions/filesize) // + original by: Enrique Gonzalez
// + input by: Jani Hartikainen
// + improved by: Kevin van Zonneveld ([http://kevin.vanzonneveld.net](http://kevin.vanzonneveld.net))
// + improved by: T. Wild
// % note 1: This function uses XmlHttpRequest and cannot retrieve resource from different domain. // % note 1: Synchronous so may lock up browser, mainly here for study purposes.
// * example 1: filesize('[http://kevin.vanzonneveld.net](http://kevin.vanzonneveld.net)/pj_test_supportfile_1.htm');
// * returns 1: '3'
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');
}
}
mas para funcionar, eu preciso passar no parâmetro url o caminho completo do arquivo, mas não consigo fazer isso porque não consigo pegar através do input file.
Alguém tem alguma solução?
Obrigado desde já!
Carregando comentários...