Сохранение PDF в OneDrive с помощью jQuery - PullRequest
0 голосов
/ 30 мая 2018

Моя компания начала использовать Microsoft Office 365. Они используют OneDrive для сохранения и просмотра файлов.

Мне было поручено создать веб-сайт, который позволит клиентам загружать файлы непосредственно в OneDrive.Моя команда создала собственную фиктивную учетную запись OneDrive для тестирования сохранения файлов, которые будут загружены клиентом.

Начиная с простого ввода HTML-формы:

<form id="uploadfile">
  <input type="file" id="pdfFile" name="pdfFile" class="form-control" />
  <button type="button" class="btn btn-primary" id="uploadBtn">Upload File</button>
</form>

А теперь jQuery:

$('#uploadBtn').on('click', function(e)
{
  e.preventDefault();
  var formData = new FormData($('#uploadfile')[0]);  // <-- not currently using this variable, but I know I will need it
  var filename = $('#pdfFile').val().replace(/.*(\/|\\)/, '');

  var odOptions = 
  {
    clientId: "00000000-xxxxx-0000-xxxx-0000000000",
    action: "upload",  // <-- was originally set to save
    sourceInputElementId: "pdfFile",
    sourceUri: "",
    fileName: filename,
    openInNewWindow: true,
    advanced: {endpointHint: "api.onedrive.com"},
    success: function(files) { /* success handler */ },
    progress: function(p) { /* progress handler */ },
    cancel: function() { /* cancel handler */ },
    error: function(e) { /* error handler */ }
  }
  OneDrive.save(odOptions);
});

Все вышеперечисленное происходит по следующей ссылке:

https://docs.microsoft.com/en-us/onedrive/developer/controls/file-pickers/js-v72/save-file

Edit

Я добился определенного прогресса с тех пор, как спросил об этом.Я могу добраться до точки, где открывается окно OneDrive, и я вижу различные папки.Но, похоже, я не могу сохранить файл.

Начиная здесь:

enter image description here

Пользователь выбрал изображение.При нажатии кнопки загрузки открывается OneDrive:

enter image description here

Но когда я нахожусь в окне OneDrive, при нажатии кнопки сохранения файл не сохраняется.

Чего мне не хватает, чтобы получить файл для сохранения в OneDrive?

1 Ответ

0 голосов
/ 06 июня 2018

Мне наконец удалось сохранить в OneDrive.Некоторые изменения были внесены на портале регистрации приложений (где вы получаете свой appID).Я добавил разрешения, чтобы обеспечить возможность чтения / записи в папку в OneDrive.

Я также внес изменения в часть кода odOptions:

$('#uploadBtn').on('click', function(e)
{
  e.preventDefault();
  //var formData = new FormData($('#uploadfile')[0]); 
  //var filename = $('#pdfFile').val().replace(/.*(\/|\\)/, '');

  var odOptions = 
  {
    clientId: "00000000-xxxxx-0000-xxxx-0000000000",
    action: "save",  // upload was not valid
    sourceInputElementId: "pdfFile",
    //sourceUri: "", 
    //fileName: filename,
    openInNewWindow: true,
    advanced: {endpointHint: "api.onedrive.com"},
    success: function(files) { /* success handler */ },
    progress: function(p) { /* progress handler */ },
    cancel: function() { /* cancel handler */ },
    error: function(e) { /* error handler */ }     
  }
  OneDrive.save(odOptions);
});

Следование документации помогло решитьмоя проблема:

https://docs.microsoft.com/en-us/onedrive/developer/controls/file-pickers/js-v72/save-file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...