用javascript好像必須要用activex
還有其他好的辦法嗎?最好在沒有上傳到伺服器上就能判斷出來
---------------------------------------------------------------
修改
服務器配置-->Internet選項--->DominoWeb引擎--->Http階段作業-->使用中的階段作業上限
---------------------------------------------------------------
在用戶端[IE]判斷檔案大小
<script>
function GetFileSize()
{
var filename=document.all.File.value;
if(filename=='')
{
return false;
}
try
{
var ado_stream=new ActiveXObject("ADODB.Stream");
//1=adTypeBinary;2=adTypeText
ado_stream.Type=2;
ado_stream.Open();
ado_stream.LoadFromFile(filename);//將檔案資訊存入流
alert((ado_stream.Size/1024).toFixed(2)+"KB")
}
catch(e)
{
window.confirm(e);
return false;
}
return true;
}
</script>
<input type=file id="File"><input type=button onclick="GetFileSize()">
---------------------------------------------------------------
思路跟你說了,程式這麼簡單不會吧?如何不是作Java的話,可以理解,是做Java的就。。。
如果你沒有進行簽名的話,也只能是改安全性了哦。。。。。。。。。。
程式如下:
import java.applet.Applet;
import java.io.File;
public class FileChecker extends Applet
{
private boolean Debug = false;
public void setDebug(boolean bDebug)
{
Debug = bDebug;
}
public boolean getDebug()
{
return Debug;
}
public void init()
{
}
public void start()
{
}
public void stop()
{
}
public void destroy()
{
}
public void showInfo(String strInfo)
{
if(Debug)
{
System.out.println(strInfo);
}
}
public String checkSize(String filePathName,String maxFileSize)
{
String strResult = "0";
if(filePathName == null)
{
return "No FileName!";
}
File file = new File(filePathName);
strResult = "" + file.length();
if(file.exists())
{
showInfo("file.length():" + file.length());
if(file.length() > Long.parseLong(maxFileSize))
{
strResult = "1";
}
}
else
{
strResult = "-1";
}
return strResult;
}
public static void main(String[] args)
{
FileChecker fileChecker = new FileChecker();
String strFilePathName = "C://Autoexec.bat";
String strlMaxFileSize = "1024";
if(args.length >=1)
{
strFilePathName = args[1];
}
if(args.length >=2)
{
strlMaxFileSize = args[2];
}
System.out.println(fileChecker.checkSize(strFilePathName,strlMaxFileSize));
}
}
---------------------------------------------------------------
把JS也給出來吧,好人做到底呀:)
在submit之前檢查之。。。不用我說放在哪裡了吧?
function checkForm()
{
var strReturn = "";
var strResult = "";
var lFileSize = 0;
oFileChecker = document.applets("FileChecker");
var vFileName = new Array();
vFileName[0] = document.all.tFileUpload1.value;
vFileName[1] = document.all.tFileUpload2.value;
if(oFileChecker != null)
{
for(i = 0;i < vFileName.length;i++)
{
strFileName = vFileName[i];
if(strFileName != "")
{
//oFileChecker.showInfo("Hello");
try
{
strResult = oFileChecker.checkSize(strFileName,maxUploadFileSize);
}
catch(e)
{
}
if(strResult == "-1")
{
strReturn += strFileName + " 檔案不存在!請檢查!/t/n/n";
}
else
{
if(strResult == "1")
{
strReturn += strFileName + " 檔案大小超過限制!請檢查!/t/n/n";
}
else
{
lFileSize += parseFloat(strResult);
}
}
}
}
if(strReturn != "")
{
alert(strReturn);
return false;
}
else
{
if(lFileSize > maxUploadFileSize)
{
alert("所選的兩個檔案總大小超過限制!請檢查!/t/n/n")
return false;
}
else
{
return true;
}
}
}