http協議最大length才2G啊.
httpmoudle獲得
#region Methods
private string checkFileVality()
{
string result="";
long truelength=FileUpload1.PostedFile.ContentLength;//文件长度(以字节为单位)。
int Mylen=4;//4M
long len=0;
try
{
len=Mylen*1024*1024;
}
catch
{
len=Convert.ToInt64(1024*1024*4);
}
if(truelength>len)
{
result= "文件大小不能超过规定的"+Mylen+" M!";
}
return result;
}
#endregion
这是在上传前判断的。可以用Iframe页面
在上传时读到文件的大小呀, 当大过你设定的时候你就弹出提示, 像QQ校友里面那个头像那个, 要大于30K, 又要小于300K, 不然的就提示
if (FileUpload1.PostedFile.ContentLength > 1024 * 1000 * 4)
{
str = "上文件大小超过限定值!(最大<b>" + CaculatorSize(1024 * 1000 * 4) + "</b>)";
return;
}
public string CaculatorSize(int s)
{
if (s < 1024)
{
return s + " B";
}
if (s / 1024 < 1024)
{
return s / 1024 + " KB";
}
if (s / 1024 / 1024 < 1024)
{
return s / 1024 / 1024 + " M";
}
if (s / 1024 / 1024 / 1024 < 1024)
{
return s / 1024 / 1024 / 1024 + " G";
}
else
{
return "";
}
}
那么给你另外一个方案
http://www.cnblogs.com/cloudgamer/archive/2008/10/20/1314766.html
对于这种情况我做的是,用一个隐藏域或把一个控件隐藏,在服务器端得到大小后,把这个大小赋给这个隐藏域
然后写一个 js 脚本去读取这个隐藏域的值,如果大于 4M ,则弹出提示框
应该可以解决你的问题吧
1.使用js检测文件长度,然后自己判断
2.在web.config中修改上传最大长度,防止客户端作弊。
JS代码:可将其复制到htm中测试
<HTML><HEAD>
<SCRIPT>
function getFileSize (fileName) {
if (document.all) {
window.oldOnError = window.onerror;
window.onerror = function (err) {
if (err.indexOf('utomation') != -1) {
alert('没有访问文件的权限');
return true;
}
else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return file.Size;
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formName"><INPUT TYPE="file" NAME="fileName" OnChange="alert(getFileSize(this.form.fileName.value))"><BR>
</FORM>
</BODY>
</HTML>
#region Methods
private string checkFileVality()
{
string result="";
long truelength=FileUpload1.PostedFile.ContentLength;//文件长度(以字节为单位)。
int Mylen=4;//4M
long len=0;
try
{
len=Mylen*1024*1024;
}
catch
{
len=Convert.ToInt64(1024*1024*4);
}
if(truelength>len)
{
result= "文件大小不能超过规定的"+Mylen+" M!";
}
return result;
}
#endregion
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('"+result+"');", true);
if(truelength>len)
{
string msg="文件大小不能超过规定的4M!"
page.RegisterStartupScript("message", "<script language='javascript' defer>alert ('" + msg+ "');</script>");
return ;
}