用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 οnclick="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;
}
}
}
如何控制上传附件的大小?在没有上传到服务器上就能判断出来 - 用Applet(签名) + JavaScript在提交前先判断本地文件的大小。
最新推荐文章于 2019-06-29 10:00:50 发布