使用 JQuery 文件上传添加额外的表单数据(载波实现)

Add extra Form Data with JQuery File Upload ( Carrier wave implementation)

尝试在 rails 应用程序中借助 Jquery 文件上传和载体 Gem 实现文件上传功能。

在上传每个文档时,我需要为每个文档保存一个标签。我尝试了很多来添加标签以形成数据。但是系统不会将标签提交给服务器,只有上传的文件被保存并提交

在标记中上传标签

<input id="fileupload" type="file" name="document[uploaded_file]" data-url="<%= documents_path %>"  multiple />
<div class="upload-progress progress progress-striped active">
  <div id="bar" class="bar" style="width:0%;"></div>
</div>

jquery上传方法

$('#fileupload').fileupload({
        dataType: 'html',
        progressall: function (e, data) {
            var percent = parseInt(data.loaded / data.total * 100, 10);

            var $uploadProgress = $('.upload-progress');

            $uploadProgress.find('bar').width(percent + "%");
        },
        add: function (e, data) {
            data.submit().error(function (xhr) {
                // Unfortunately this is not picked up by the global event handlers.
                var message = xhr.getResponseHeader('X-Message');
                if (message) {
                    showAlert(message);
                }
            });
        },
        progress: function (e, data) {
            var percent = parseInt(data.loaded / data.total * 100, 10);
            $('#upload-dialog').find('bar').width(percent + "%");
        },
        done: function (e, data) {
            if (data.result.trim() == '') {
                data.context.remove();
            } else {

                 $('#upload-dialog').modal('hide');

                //remaiing action
            }
        },
        fail: function (e, data) {
            data.context.remove();
        }

    });

如何在上传文档时给文档添加标签?在 JQuery UI 库

的文件上传事件上执行上传

你应该使用 formdata 这样做

data.formData = {example: val};

请参阅 docs 了解更多说明