【问题标题】:How to restrict user to upload image in ink file picker?如何限制用户在墨迹文件选择器中上传图像?
【发布时间】:2014-06-09 06:29:09
【问题描述】:

我正在使用墨水文件选择器来选择单个图像。 我想限制用户上传宽度为 100 和高度为 300 的图像。 如果图像大小不合适,则发送错误消息。 如何限制用户?

【问题讨论】:

    标签: javascript asp.net filepicker.io


    【解决方案1】:

    您可以使用FileReader()jquery 检查图像大小

    function readImage(file) {
    
        var reader = new FileReader();
        var image  = new Image();
    
        reader.readAsDataURL(file);  
        reader.onload = function(_file) {
            image.src    = _file.target.result;              // url.createObjectURL(file);
            image.onload = function() {
                var w = this.width,
                    h = this.height,
                    t = file.type,                           // ext only: // file.type.split('/')[1],
                    n = file.name,
                    s = ~~(file.size/1024) +'KB';
              if(w!=100 || h!=100){
                alert("invalid height or width");
    
              }
    
                $('#uploadPreview').append('<img src="'+ this.src +'"> '+w+'x'+h+' '+s+' '+t+' '+n+'<br>');
            };
            image.onerror= function() {
                alert('Invalid file type: '+ file.type);
            };      
        };
    
    }
    $("#choose").change(function (e) {
        if(this.disabled) return alert('File upload not supported!');
        var F = this.files;
        if(F && F[0]) for(var i=0; i<F.length; i++) readImage( F[i] );
    });
    

    HTML

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
    <meta charset=utf-8 />
    <title>Multiple image upload with preview by Roko C.B.</title>
    </head>
    <body>
      <input type="file" id="choose" multiple="multiple" />
    <br>
    <div id="uploadPreview"></div>
    

    JS BIN 示例JSBIN

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      相关资源
      最近更新 更多