例如图片上传,图片大小不能大于512K,图片的类型只能限于GIF,JPG,BMP三种。改怎么写。

解决方案 »

  1.   

    考虑通用性,还是在服务器端判断好
    http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C<HTML>
    <HEAD>
    <SCRIPT>
    function getFileSize (fileName) {
    var ext = fileName.substr(fileName.lastIndexOf(".")+1)
    ext=ext.toLowerCase()
    if(!(ext=="bmp" || ext=="gif" || ext=="jpg"))
    {
    alert("类型不对")
    return -1
    }
      if (document.layers) {
        if (navigator.javaEnabled()) {
          var file = new java.io.File(fileName);
          if (location.protocol.toLowerCase() != 'file:')
            netscape.security.PrivilegeManager.enablePrivilege(
            '没有权限'
            );
          return file.length();
        }
        else return -1;
      }
      else 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">
    <BR>
    <INPUT TYPE="button" VALUE="查看" ONCLICK="alert(getFileSize(this.form.fileName.value))">
    </FORM>
    </BODY>
    </HTML>
      

  2.   

    关于大小可以再 Web.config 里面设置、关于图片类型,则可以在程序里面加以控制,即通过获取上传文件的扩展名,如果不是 gif,jpg,bmp 三种之一,则限制其上传!
      

  3.   

    怎样在 Web.config 里面控制文件大小?