请问acewang
客户端如何获得上传文件大小?

解决方案 »

  1.   

    在web.config文件配置runtime节点信息,详细情况见.net sdk。
      

  2.   

    用js判断其实也不是很好,往往因为客户端的安全性做不到,js参考:
    function check()
    {
    var filename = document.all("file1").value;
    if(filename == "")
    {
    alert("文件没选择!");
    return false;
    }
    try
    {
    var stream = new ActiveXObject("ADODB.Stream");
    stream.Type = 1;
    stream.Open();
    stream.LoadFromFile(filename);
    alert(stream.Size);
    if(stream.Size > 1024000)
    {
    alert("文件太大, 不让你传!!!");
    return false;
    }
    }
    catch(e)
    {
    alert("IE安全性太高!");
    return false;
    }
    return true;
    }//把IE选项的"跨域访问数据源"改成"启用"
      

  3.   

    显示正在上传文件,如果再不行的话,用TRY。。CATCH。。end try
      

  4.   

    <!--
       maxRequestLength指示 ASP.NET 支持的最大文件上载大小。   大小以 KB 为单位。默认值为 4096 KB (4 MB)。   -->
    <httpRuntime maxRequestLength="10000"
             useFullyQualifiedRedirectUrl="true"
             executionTimeout="45"/>
    加在web.config的<system.web>中,maxRequestLength=10000表示最大10M
      

  5.   

    RE:acewang:
    谢谢!可惜确实会出现安全警告
    RE: zhengjianning402
    问题是代码根本不会被执行就转到出错页面了,如果能运行到codebehind的代码就好办了
    Re:leonpard
    答非所问
      

  6.   

    用JS判断确实麻烦,还不如不用...
    gz
      

  7.   

    在文件上传后检测文件大小。过大的话就输入JAVASCRIPT对话框。然后返回前一页面即可。(这是在服务器端进行的检测的)if (filename.Length>60000){
    Response.Write("<script language=\"javascript\">alert('文件太大。文件最大不得超过6M大小!');history.back(-1);<"+"/script>");
    Response.End()
    }
      

  8.   

    RE dekey1000(dekey)
    我前面说得很清楚了,服务器文件大小检测的代码根本不会执行,服务器收到上传文件超过配置值就直接出错了,直接停止处理页面代码。
      

  9.   

    如果你希望上传不超过6M,可以在配置文件里设置一个足够大的值,比如20M。
    然后用Request.TotalBytes判断上传的文件大小。
      

  10.   

    你是在你的文件里面设置了 不能超过6M的大小吧,而没有在
    MACHINA。CONFIG或WEB。CONFIG里面设置
    <httpRuntime executionTimeout="90" maxRequestLength="4096" 
    useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" 
    appRequestQueueLimit="100" />maxRequestLength="4096" 是要改的,否则当然会出错了。
      

  11.   

    你要在 maxRequestLength="6144" 里设置尽量大一点,比如614400,
    然后在你的ASPX里面限制你文件的大小。
    如果你要上传的文件大于你限制的文件大小的话,是会显示“页面无法显示”的错误的。
    设置的数值只是个比方,要大一点的,而限制是要在你的ASPX页面里进行限制的。