允许在SharePoint 2010中上载多个文件

时间:2018-02-09 07:14:16

标签: c# asp.net sharepoint sharepoint-2010

我正在尝试构建SharePoint自定义Web部件。在该Web部分中,我只有一个文件上载控件,我需要从一个控件上传多个文件。

我尝试了不同的代码:

<input id="files" type="file" multiple="multiple" />
<input id="files" type="file" AllowMultiple="true" />
<asp:input id="files" type="file" multiple="multiple" />

我无法从文件浏览器窗口中选择多个文件。

应用程序:

SharePoint:2010版

浏览器:IE 11

请帮我解决此问题。

谢谢你:)

2 个答案:

答案 0 :(得分:0)

从不开发Sharepoint,但我使用了Devexpress控件,并且知道它们也可以在SharePoint WebParts中使用。尝试上传控制,它可以选择并上传multiple files

答案 1 :(得分:0)

您可以使用drag and drop

function makeDroppable(element, callback) {

  var input = document.createElement('input');
  input.setAttribute('type', 'file');
  input.setAttribute('multiple', true);
  input.style.display = 'none';

  input.addEventListener('change', triggerCallback);
  element.appendChild(input);

  element.addEventListener('dragover', function(e) {
    e.preventDefault();
    e.stopPropagation();
    element.classList.add('dragover');
  });

  element.addEventListener('dragleave', function(e) {
    e.preventDefault();
    e.stopPropagation();
    element.classList.remove('dragover');
  });

  element.addEventListener('drop', function(e) {
    e.preventDefault();
    e.stopPropagation();
    element.classList.remove('dragover');
    triggerCallback(e);
  });

  element.addEventListener('click', function() {
    input.value = null;
    input.click();
  });

  function triggerCallback(e) {
    var files;
    if(e.dataTransfer) {
      files = e.dataTransfer.files;
    } else if(e.target) {
      files = e.target.files;
    }
    callback.call(null, files);
  }
}

var element = document.querySelector('.droppable');
function callback(files) {
  // Here, we simply log the Array of files to the console.
  console.log(files);
}
makeDroppable(element, callback);