使用Pluploader

时间:2015-08-08 07:43:59

标签: javascript html image-resizing plupload

我想使用 plupload 进行简单上传,该图片会将图片转换为多个尺寸,例如thumbmediumfull和设置为不同的文件夹位置,

我已尝试过将代码上传到不同位置的代码,但无法调整该特定文件夹的图像大小。

它存储了相同大小的所有三个文件。

我在这里尝试的是:

我的代码是:

<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://code.jquery.com/jquery-2.1.4.min.js" type="text/javascript"></script>
        <script type="text/javascript" src="plupload.full.min.js"></script>
    </head>
    <body>
        <div id="filelist">Your browser doesn't have Flash, Silverlight or HTML5 support.</div>
        <br />

        <div id="container">
            <a id="pickfiles" href="javascript:;">[Select files]</a>
            <a id="uploadfiles" href="javascript:;">[Upload files]</a>
        </div>

        <br />
        <pre id="console"></pre>


        <script type="text/javascript">
            var folder = '';
            var i = 0;
            folder = 'full';
            // Custom example logic
            var uploader = new plupload.Uploader({
                runtimes: 'html5,flash,silverlight,html4',
                browse_button: 'pickfiles', // you can pass in id...
                container: document.getElementById('container'), // ... or DOM Element itself

                url: "http://localhost/plupload_new/public_html/upload.php?diretorio=" + folder,
                filters: {
                    max_file_size: '10mb',
                    mime_types: [
                        {title: "Image files", extensions: "jpg,gif,png"},
                        {title: "Zip files", extensions: "zip"}
                    ]
                },
                // Flash settings
                flash_swf_url: '/plupload/js/Moxie.swf',
                // Silverlight settings
                silverlight_xap_url: '/plupload/js/Moxie.xap',
                init: {
                    PostInit: function () {
                        document.getElementById('filelist').innerHTML = '';
                        document.getElementById('uploadfiles').onclick = function () {
                            uploader.start();
                            return false;
                        };
                    },
                    FilesAdded: function (up, files) {
                        plupload.each(files, function (file) {
                            document.getElementById('filelist').innerHTML += '<div id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></div>';
                        });
                    },
                    UploadProgress: function (up, file) {
                        document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
                    },
                    Error: function (up, err) {
                        document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message;
                    }
                }
            });
            var i = 1;
            uploader.bind('BeforeUpload', function (up, file) {
                if ('thumb' in file) {
                    if (i == 1) {
                        //thumb
                        up.settings.url = 'http://localhost/plupload_new/public_html/upload.php?diretorio=thumb',
                        up.settings.resize = {width: 50, height: 50, quality: 50};
                    } else {
                        // medium size
                        up.settings.url = 'http://localhost/plupload_new/public_html/upload.php?diretorio=medium',
                        up.settings.resize = {width: 400, height: 600, quality: 70};
                    }
                } else {
                    up.settings.url = 'http://localhost/plupload_new/public_html/upload.php?diretorio=full',
                    up.settings.resize = {quality: 100};

                }
                uploader.bind('FileUploaded', function (up, file) {
                    if (!('thumb' in file)) {
                        file.thumb = true;
                        file.loaded = 0;
                        file.percent = 0;
                        file.status = plupload.QUEUED;
                        up.trigger("QueueChanged");
                        up.refresh();
                    } else {
                        i++;
                        file.medium = true;
                        file.loaded = 0;
                        file.percent = 0;
                        file.status = plupload.QUEUED;
                        up.trigger("QueueChanged");
                        up.refresh();
                    }
                });
            });
            uploader.init();
        </script>
    </body>
</html>

任何帮助将不胜感激

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,这是对我发布的代码的一个非常小的更改,我唯一需要更改的是我在我的resize参数中添加了属性<script> $(function(){ $.get( "../../ajax/_source.php", function(data){ $('.settings-loc').editable({ type: 'select', source: data, url: '../../ajax/_settings.php', }); }); }); </script> ,例如,

enabled:true