0

我有以下代码可以上传工作正常的个人资料照片。我也有许多不同的案例(上传网站图标、徽标等),最终可能会出现很多重复。

var myDropzone;

myDropzone = new Dropzone("div#profilePhoto", {
  url: "/attachments",
  paramName: "attachment[file]"
});

myDropzone.on("sending", function(file, xhr) {
  return $.rails.CSRFProtection(xhr);
});

我的问题是我怎样才能将此代码重构为尽可能通用,但允许我根据其 ID 传递具体选项(url、paramName 等)?

4

1 回答 1

4

我们对您使用它的上下文知之甚少,但我相信像这个函数这样的东西可以工作:

function createDropzone(selector, url, paramName) {
    var myDropzone = new Dropzone(selector, {
      url: url,
      paramName: paramName
    });

    myDropzone.on("sending", function(file, xhr) {
      return $.rails.CSRFProtection(xhr);
    });
}

你可以这样称呼它:

createDropzone("div#profilePhoto", "/attachments", "attachment[file]");
于 2013-04-13T20:02:26.620 回答