BlueImp文件上传额外参数

时间:2014-11-22 02:54:14

标签: javascript jquery forms file-upload blueimp

我正在尝试将额外的参数传递给blueimp文件上传。我尝试使用文件上传提交事件:

$('#fileupload').bind('fileuploadsubmit', function (e, data) {
// The example input, doesn't have to be part of the upload form:
var input = $('#input');
data.formData = {example: input.val()};
if (!data.formData.example) {
  data.context.find('button').prop('disabled', false);
  input.focus();
  return false;
}
});

但是我不知道传递额外参数的位置以及如何访问额外的参数?

我想要实现的是在UI版本中上传文件时为每一行分配唯一的ID。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

在您的上传模板javascript中添加字段

<td>
Descripción
	<input type="text" name="descripcion[]" id="descripcion" placeholder="Descripción">     
</td>
在你的jQueryFileUpload

}).on('fileuploadsubmit', function (e, data) {
  var inputs = data.context.find(':input');
  if (inputs.filter(function () {
    return !this.value && $(this).prop('required');
  }).first().focus().length) {
  	data.context.find('button').prop('disabled', false);
  return false;
  }
  data.formData = data.context.find(':input').serializeArray();
});

答案 1 :(得分:0)

首先,模板下载添加此代码

<td>
  {%=file.descripcion%}
</td>

然后修改自定义index.php“set_additional_file_properties($ file)”函数

protected function set_additional_file_properties($file) {
        parent::set_additional_file_properties($file);
        if ($_SERVER['REQUEST_METHOD'] === 'GET') {
            $sql = "SELECT Id, Nombre, Descripcion FROM tabla WHERE Nombre='".$file->name."'";
            $query = $this->db->prepare($sql);
            $query->execute();
            $query->bind_result(
                $id,
                $nombre,
                $descripcion
            );
            while ($query->fetch()) {
                $file->id = $id;
                $file->nombre = $nombre;
                $file->descripcion = utf8_encode($descripcion);
            }
        }
		
    }