Uploadify - 返回上传表单的随机表单数据

时间:2012-09-07 20:35:15

标签: php javascript jquery uploadify

基本上我要做的是生成一个字母数字字符串,它传递给php处理程序,以及返回上传表单。上传完成后,表单会使用字母数字字符串创建链接。

除了一个问题,我已经完成了所有工作。只生成一个随机字符串,因此如果您尝试同时上载多个文件,则每个文件都具有相同的字符串名称。我需要他们每个人都有不同的名字,但我似乎无法弄清楚如何,虽然仍然能够传递回形式和PHP。

这是我的剧本:

<script>
    function randomString(length, chars) {
        var result = '';
        for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
        return result;
    }
    var sessid = '';
    var data = document.getElementById('data');
    $(document).ready(function () {

        $('#myModal').modal({
            show: false
        });
        $('#mm').modal({
            show: false
        });

        $(function () {
            $('#file_upload').uploadify({
                'fileObjName': 'file',
                'fileSizeLimit': '8MB',
                'buttonText': 'BROWSE FILE(S)...',
                'fileTypeExts': '*.JPEG; *.GIF; *.PNG; *.APNG; *.TIFF; *.BMP; *.PDF; *.XCF',
                'cancelImg': 'uploadify-cancel.png',
                'swf': 'uploadify.swf',
                'uploader': 'uploadify.php',
                'formData': randomString(7, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'),
                'auto': false
            });
        });
    });
</script>

我还对jquery.uploadify-3.1.min.js进行了一些小修改,允许将随机字符串传递回表单。

if (c.inArray("onUploadSuccess", g.overrideEvents) < 0) {
    c("#" + f.id).find(".data").html(" - " + this.settings.post_params);
}

如果有人想要全部看到这一切,你可以在这里看到它:http://icap.me/test/files.php 忽略破碎的设计,现在我只是想让它发挥作用。

1 个答案:

答案 0 :(得分:0)

使用onUploadStart处理程序设置用于上传的随机字符串。

$('#file_upload').uploadify({
            'fileObjName': 'file',
            'fileSizeLimit': '8MB',
            'buttonText': 'BROWSE FILE(S)...',
            'fileTypeExts': '*.JPEG; *.GIF; *.PNG; *.APNG; *.TIFF; *.BMP; *.PDF; *.XCF',
            'cancelImg': 'uploadify-cancel.png',
            'swf': 'uploadify.swf',
            'uploader': 'uploadify.php',
            'auto': false,
            'onUploadStart': function() {
               $("#file_upload").uploadify('settings', 
                                           'formData',
                                           randomString(7, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')) }
        });