拖放文件并发送邮件请求

时间:2016-11-16 23:04:17

标签: javascript jquery file-upload drag-and-drop

我正在尝试创建拖放文件上传表单。我让拖放部分工作,但是一旦我拥有它,我就无法弄清楚如何提交文件。我不能使用ajax,表单需要像html上传表单一样重定向。

这是我的拖放代码。

$("html").on("dragover", function(event) {
    event.preventDefault();  
    event.stopPropagation();
    $(this).addClass('dragging');
});

$("html").on("dragleave", function(event) {
    event.preventDefault();  
    event.stopPropagation();
    $(this).removeClass('dragging');
});

$("html").on("drop", function(event) {
    event.preventDefault();
    event.stopPropagation();
    console.log(event.originalEvent.dataTransfer.files)
});

通常在发布通过javscript生成的数据时,我使用下面的函数,但它不适用于文件,因为你无法设置文件输入。

function post(path, data) {
  let form = $('<form>')
    .attr({
      method: 'post',
      path: path
    })
    .appendTo('body')

  for(let key in data) {
    if(!data.hasOwnProperty(key)) continue;

    $('<input>')
      .attr({
        type: 'hidden',
        name: key,
        value: data[key]
      })
      .appendTo(form)
  }

  form.submit()
}

0 个答案:

没有答案