使用blueimp fileupload

时间:2018-08-29 14:50:39

标签: javascript php jquery blueimp

我正在尝试在上传时将文件详细信息添加到数据库中,但无法正常工作。

将错误报告设置为全部时,没有错误或任何东西。

我的html:

<span class="btn btn-success fileinput-button">
    <i class="glyphicon glyphicon-plus"></i>
    <span>Kies bestand...</span>
    <input id="fileupload" type="file" name="files[]">
</span>
<br>
<br>
<div id="progress" class="progress">
    <div class="progress-bar progress-bar-success"></div>
</div>
<div id="files" class="files"></div>

我的jquery:

<script>
$(function () {
    'use strict';
    var url = window.location.hostname === 'site.nl/demo/server/php/' ?
                '//site.nl/' : 'demo/server/php/';
    $('#fileupload').fileupload({
        url: url,
        dataType: 'json',
        formData: [
          { name: 'custom_dir', value: '/fileupload/<?PHP echo $_GET['bedrijf'] ?>/<?PHP echo $_GET['alias'] ?>/' },
          { name: 'cat_id', value: '<?PHP echo $gtc['id']; ?>'}
      ],
        done: function (e, data) {
            $.each(data.result.files, function (index, file) {
                $('<p/>').text(file.name).appendTo('#files');
            });
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                'width',
                progress + '%'
            );
        }
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>

上传本身效果很好,但是当我尝试遵循时:https://github.com/kuiwang/blueimp-jQuery-File-Upload/wiki/PHP-MySQL-database-integration不会将数据插入到我的数据库中。

例如,如何仅将图像名称和发送的自定义值cat_id插入数据库?

我也尝试过这篇文章:adding the uploaded file name to database in blueimp fileupload jquery plugin

但是也没有成功。也许这个问题已经有5年了,所以插入的方式可能会随着更新而改变吗?

我在我的uploadhandler.php文件中添加了以下内容,并将数据库信息添加到选项数组中,如上面的SA答案所述:

function query($query) {
        $database = $this->options['database'];
        $host = $this->options['host'];
        $username = $this->options['username'];
        $password = $this->options['password'];
        $link = mysql_connect($host,$username,$password);
        if (!$link) {
            die(mysql_error());
        }
        $db_selected = mysql_select_db($database);
        if (!$db_selected) {
            die(mysql_error());
        }
        $result = mysql_query($query);
        mysql_close($link);
        return $result;
    }

    function add_img($size,$name)
    {
        $add_to_db = $this->query("INSERT INTO files
                (image_type , image_size, file_name)
                VALUES
                ('{$size['mime']}', '{$size[3]}', '{$name}')") or die(mysql_error());
        return $add_to_db;
    }

这对我无济于事。

0 个答案:

没有答案