Я работаю над проектом в ASP.NET, в котором я хочу получить размер файла, используя JavaScript. На самом деле, я получил решение, и это похоже на следующее
<script language="javascript">
var Fo =new ActiveXObject("Scripting.FileSystemObject");
var fileName=new String();
function Trim(input)
{
var lre = /^\s*/;
var rre = /\s*$/;
input = input.replace(lre, "");
input = input.replace(rre, "");
return input;
}
function getSize(filePath)
{
try
{
var thefile = Fo.getFile(filePath);
var size = thefile.size;
return size;
}
catch(err){}
}
function getType(filePath)
{
try
{
var thefile = Fo.getFile(filePath);
var fileType = thefile.type;
return fileType;
}
catch(err){}
}
function ShowErrorPnl(tblPnl)
{
document.getElementById(tblPnl).style.visibility='visible';
document.getElementById(tblPnl).style.backgroundColor='Yellow';
document.getElementById(tblPnl).style.borderColor='Silver';
}
function UploadFile_CheckType(fileUploadCtrl,messageCtrl,hFieldCtrl,tblPnl)
{
try
{
var file = document.getElementById(fileUploadCtrl);
var fileName=file.value;
document.getElementById(messageCtrl).innerText='';
document.getElementById(tblPnl).style.visibility='hidden';
document.getElementById(hFieldCtrl).value=''; // File can be uploaded.
//Checking for file browsed or not
if((getSize(fileName)/1024)>500)
{
document.getElementById(messageCtrl).innerText=' File size is exceeding 500K';
document.getElementById(hFieldCtrl).value='0'; // File cannot upload.
ShowErrorPnl(tblPnl);
file.focus();
return false;
}
if(getType(fileName)!='Microsoft Office Word 97 - 2003 Document' &&
getType(fileName)!='Adobe Acrobat Document')
{
document.getElementById(messageCtrl).innerText=
(document.getElementById(messageCtrl).innerText=='' ?
' Only Doc and pdf file can be upload!!!' :
document.getElementById(messageCtrl).innerText +
'\n'+' Only Doc and pdf file can be upload!!!');
ShowErrorPnl(tblPnl);
document.getElementById(hFieldCtrl).value='0'; // File cannot upload.
file.focus();
return false;
}
}
catch(err){}
}
</script>
Он работает отлично, если не выполнить некоторые настройки в свойствах Internet Explorer.
В Свойствах Интернета -> Выбрать вкладку «Безопасность» -> Локальный Интернет -> Нажмите кнопку «Пользовательский уровень» -> Инициализировать и сценарии элементы управления ActiveX, не помеченные как безопасные для сценариев, -> Включить его
Сохранить настройки и запустить программу.
Это работает, но я хочу получить размер файла без
используя var Fo =new ActiveXObject("Scripting.FileSystemObject");