Dropzone MVC 5 在上传时添加额外参数

Dropezone MVC5 Add extra parameter on Upload

我正在使用 dropzone 将文件毫无问题地上传到我的服务器,我想添加额外的参数,例如元数据。

关于如何做到这一点有什么想法吗?

代码如下,仅以正常方式使用控制器

<div class="row">
  <div class="col-lg-12">
    <div class="ibox float-e-margins">
      <div class="ibox-title">
        <h5>Select</h5>
        <div class="ibox-tools">
          <a class="collapse-link">
            <i class="fa fa-chevron-up"></i>
          </a>
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">
          </a>
        </div>
      </div>
      <div class="ibox-content">
        <form id="my-awesome-dropzone" class="dropzone" action="@Url.Action(" FileUploadHandler ", "Controller ")" method="post" enctype="multipart/form-data">
          <div class="dropzone-previews"></div>
          <button type="submit" class="btn btn-primary pull-right">Submit your application</button>
        </form>
        <div>
          <div class="m text-right">test</div>
        </div>
      </div>
    </div>
  </div>
</div>

`

< script type = "text/javascript" >
  $(document).ready(function() {

    Dropzone.options.myAwesomeDropzone = {
      autoProcessQueue: false,
      parallelUploads: 1,
      maxFiles: 1,
      maxFilesize: 2000,
      paramName: "test,123",
      acceptedFiles: ".zip",

      // Dropzone settings
      init: function() {
        var myDropzone = this;

        this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
          e.preventDefault();
          e.stopPropagation();
          myDropzone.processQueue();

          //Get All information to submit to server
          var appName = "";
          var typeOfApp = 1;
          var commandLine = "";
          var osType = 1;


        });

        this.on("sending", function(file, xhr, data) {
          data.append("filetype", "avataruploadtype");
        });

      }
    }

  });

`

按照您的设置方式,您只是提交表单,所以一种简单的方法是向表单添加输入(或隐藏字段)并在服务器上处理多部分表单数据。

详情请看这里: https://github.com/enyo/dropzone/wiki/Combine-normal-form-with-Dropzone