try
--------------------------------------
文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。不过在IE下img有几个附加的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上传之前判断图片文件的大小是否合法了。限制:<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<img src="about:blank" id="fileChecker" alt="test" height="18"/><script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");function changeSrc(filePicker)
{
oFileChecker.src = filePicker.value;
}oFileChecker.onreadystatechange = function ()
{
if (oFileChecker.readyState == "complete")
{
checkSize();
}
}function checkSize()
{
var limit = document.getElementById("fileSizeLimit").value * 1024; if (oFileChecker.fileSize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script>
--------------------------------------
文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。不过在IE下img有几个附加的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上传之前判断图片文件的大小是否合法了。限制:<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<img src="about:blank" id="fileChecker" alt="test" height="18"/><script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");function changeSrc(filePicker)
{
oFileChecker.src = filePicker.value;
}oFileChecker.onreadystatechange = function ()
{
if (oFileChecker.readyState == "complete")
{
checkSize();
}
}function checkSize()
{
var limit = document.getElementById("fileSizeLimit").value * 1024; if (oFileChecker.fileSize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script>
解决方案 »
- ext高手请帮忙 我想做一个根据combobox的值生成下一个组件 比如选择按姓名查询 则生成文本框 选择按性别查询则生成选项为男和女的下拉框 求帮忙
- jquery 实现 Repeater中的RadioButton单选
- JS里如何像C或C++一样包含其他源文件
- flexigrid 中的方法如何调用???
- 求项目
- 一个小问题,高手进来抠分!
- 请教高手:给200分
- 我设置了 <A target=blank href=>,想打开一个新窗口,可以第一次是可以的,第二次会打开刚才的那个窗口,不会有新的窗口打开
- javascript打印设置问题。。。
- 不好意思,一个简单的问题
- 不可挑战??????????????
- 急:jsp 页面下拉列表不能显示
function ShowFileInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.Size;
return(s);
}
HtmlInputFile控件上传文件有的大小控制。上载大文件时,可以通过元素maxRequestLength属性来增加文件大小的最大允许值。例如:
<configuration>
<system.web>
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
</system.web>
</configuration>
其中:maxRequestLength:指示 asp.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 asp.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。
另外,再附上限制图片大小的源码:<SCRIPT LANGUAGE="JavaScript">
<!--
var FileMaxSize = 200;//限制上传的文件大小,单位(k)
function chkform(){
if (document.HwForm.Photo.value==""){alert("请选择照片");document.HwForm.Photo.focus();return false;}
if(document.HwForm.PhotoFileSize.value<=0){alert("请重新选择照片");document.HwForm.Photo.focus();return false;}
if(document.HwForm.PhotoFileSize.value>FileMaxSize*1024){alert("选择的照片超过"+FileMaxSize+"K,请重新选择");document.HwForm.Photo.focus();return false;}
}
//-->
</SCRIPT>
<cfif isdefined("form.add") and isdefined("form.Photo")>
<!---判断文件目录是否存在--->
<cfset Dir=ReplaceNoCase(GetTemplatePath(),"text.cfm","UploadPic\")>
<cfset UploadPath=Dir>
<cfif DirectoryExists(UploadPath) EQ "No"><!--- 新建目录 --->
<cfdirectory directory=#UploadPath# action="create">
</cfif>
<!---上传图片--->
<CFFILE ACTION="Upload" fILEFIELD="Photo" DESTINATION="#dir#" nameconflict="OverWrite" accept="image/gif,image/pjpeg,image/jpg" >
<script>alert('上传成功');window.location.href('UpLoadPic.cfm');</script>
</cfif>
<form method="POST" name="HwForm" onsubmit="return(chkform());" enctype="multipart/form-data">
<br />
<span class="style2">照片档案格式限制如下:<br />
<li> JPG或Gif图档</li><br />
<li> 上传图档不可超过200k </li></span><br /><br />
<input type="file" name="Photo" onpropertychange="if(document.HwForm.Photo.value!=''){document.getElementById('PhotoImg').src=document.HwForm.Photo.value;}"/><IMG style="POSITION: absolute; TOP: -100000px;left:-100000px;" onerror="document.all.PhotoFileSize.value='-1';alert('请选择一个图像文件');" onload="if(document.getElementById('PhotoImg').fileSize<=1024*FileMaxSize){document.all.PhotoFileSize.value=document.getElementById('PhotoImg').fileSize;}else{alert('图片不能大于'+FileMaxSize+'K,请重新选择');document.all.PhotoFileSize.value='-1';}" id="PhotoImg"><input size="3" type="hidden" name="PhotoFileSize" value="-1" /><INPUT TYPE="submit" VALUE="上 传" name="add">
</form>
如果要无刷Ajax是个不错的选择。
楼主问上传文件的大小控制,一干人等回答上传图片的大小控制,根本就是两回事嘛。-------------你这说的是什么跟什么?