plupload 如何控制最小宽度和文件类型及跨域

本文涉及的产品
.cn 域名,1个 12个月
简介: 直接上代码 plupload.addFileFilter('min_width', function (maxwidth, file, cb) { var self = this, img = new o.

直接上代码

plupload.addFileFilter('min_width', function (maxwidth, file, cb) {
        var self = this, img = new o.Image(); 
        function finalize(result) {
            // cleanup
            img.destroy();
            img = null;

            // if rule has been violated in one way or another, trigger an error
            if (!result) {
                self.trigger('Error', {
                    code: plupload.IMAGE_DIMENSIONS_ERROR,
                    message: "图片宽度不能小于" + maxwidth + "px",
                    file: file
                });
            }
            cb(result);
        }
        img.onload = function () {
            // check if resolution cap is not exceeded
            finalize(img.width >= maxwidth);
        };
        img.onerror = function () {
            finalize(false);
        };
        img.load(file.getSource());
    });
    plupload.addFileFilter('filetype', function (filetype, file, cb) {
        var self = this, img = new o.Image();
        function finalize(result) {
            // cleanup
            img.destroy();
            img = null;

            // if rule has been violated in one way or another, trigger an error
            if (!result) {
                self.trigger('Error', {
                    code: plupload.IMAGE_DIMENSIONS_ERROR,
                    message: "您上传的图片格式是" + file.type + ",只能上传jpg图片",
                    file: file
                });
            }
            cb(result);
        }
        img.onload = function () {
            // check if resolution cap is not exceeded
            var type = file.type; 
            type = type.replace("image/", ""); 
            finalize(filetype.indexOf(type) > 0);  
        };
        img.onerror = function () {
            finalize(false);
        };
        img.load(file.getSource()); 
    });


    var uploader = new plupload.Uploader({//创建实例的构造方法
        browse_button: 'fileinput-button',
        runtimes: 'html5,flash,silverlight,html4', //上传插件初始化选用那种方式的优先级顺序 
        url: "/common/ImageUp", //远程上传地址
        max_file_size: '20mb',
        chunk_size: '500kb', 
        filters:  
           { title: "Image files", filetype: "jpg,jpeg", min_width: 600 }
        ,
        flash_swf_url: '/Scripts/plupload-2.1.9/Moxie.swf', 
    });

    uploader.init();

 

参考文章:

http://stackoverflow.com/questions/14091505/control-image-width-and-height-when-upload-image

 

2.跨域

在iis7下web.config配置,实际配置时,指定具体的域名,防止被黑客入侵

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
     </customHeaders>
   </httpProtocol>
 </system.webServer>
</configuration>

 

3.php怎么跨域

在文件头部加上  header( 'Access-Control-Allow-Origin:http://abc.com' );

如果在iis下不要添加,如2配置即可

跨域可能用的路径

//获取当前的域名:  
echo $_SERVER['SERVER_NAME'];  
//获取来源网址,即点击来到本页的上页网址  
echo $_SERVER["HTTP_REFERER"];  
$_SERVER['REQUEST_URI'];//获取当前域名的后缀  
$_SERVER['HTTP_HOST'];//获取当前域名  
dirname(__FILE__);//获取当前文件的物理路径  
dirname(__FILE__)."/../";//获取当前文件的上一级物理路径  

 

相关文章
|
1月前
|
前端开发 PHP
33 多文件上传及文件下载
路老师分享PHP语言知识,涵盖多文件上传和文件下载功能。多文件上传只需将表单中的文件域名称改为数组形式,文件下载则通过`header()`函数实现强制下载。详细代码示例和操作步骤,助你轻松掌握PHP核心技术。
31 1
|
存储 前端开发 Java
Element el-upload 文件上传/图片上传/拖拽上传/附带参数/附带请求头部详解
文目录 1. 前言 2. 基本用法 2.1 前端部分 2.2 后端部分 2.3 获取后端返回信息 3. 外观功能介绍 3.1 拖拽上传 3.2 显示图片 3.3 设置文件列表样式 3.4 显示提示信息 4. 事件功能介绍 4.1 限制上传文件数量 4.2 限制上传文件类型和大小 4.3 移除文件处理 4.4 手动上传 5. 附带参数 6. 附带请求头部 7. 小结
6090 0
|
7月前
|
Java 应用服务中间件 Android开发
UEditor自定义图片/文件上传路径与回显
UEditor自定义图片/文件上传路径与回显
565 0
|
JavaScript
原生js实现文件下载并设置请求头header
原生js实现文件下载并设置请求头header
176 0
|
前端开发 JavaScript PHP
在多文件上传中,如何处理文件大小限制?
在多文件上传中,如何处理文件大小限制?
129 0
如何通过form表单控制上传文件的大小?
如何通过form表单控制上传文件的大小?
1463 0
|
Web App开发 JavaScript
|
JavaScript 内存技术