Автоматизация загрузки файлов Priority-Web-SDK

Я хотел бы создать командную строку (или другой автоматизированный) метод для загрузки файлов в приоритет с помощью Web-SDK. Лучшее решение, которое у меня есть сейчас, - это простая веб-форма, активируемая скриптом Python.

Существуют ли инструменты / примеры использования Javascript и средства выбора файлов без открытия браузера? Существуют ли порты Priority-Web-SDK для других сред? C#, Python и т. Д.?

Любые другие предложения также приветствуются.

2 ответа

Этот скрипт nodejs загрузит файл в Приоритет. Удостоверься что fetch-base64 установлен npm:

"use strict";

const priority = require('priority-web-sdk');
const fetch = require('fetch-base64');

const configuration = {...};

async function uploadFile(formName, zoomVal, filepath, filename) {
  try {
    await priority.login(configuration);
    let form = await priority.formStartEx(formName, null, null, null, 1, {zoomValue: zoomVal});
    await form.startSubForm("EXTFILES", null ,null);
    let data = await fetch.local(filepath + '/' + filename);
    let f = await form.uploadDataUrl(data[0], filename.match(/\..+$/i)[0], () => {});
    await form.fieldUpdate("EXTFILENAME", f.file); // Path
    await form.fieldUpdate("EXTFILEDES", filename);  // Name
    await form.saveRow(0);
  } catch(err) {
      console.log('Something bad happened:');
      console.dir(err);
  }
}

uploadFile('AINVOICES', 'T9679', 'C:/my/path', 'a.pdf');

Вы запускаете узел локально и используете приоритетный SDK.

* Пока вы работаете в среде, способной визуализировать JS. Вы можете отправлять файлы через функцию uploadFile, Данные внутри файлового объекта должны быть записаны как 64 базовых файла.

Другие вопросы по тегам