自动化Priority-Web-SDK文件上传

时间:2018-07-23 11:49:36

标签: javascript file-upload priority-web-sdk

我想创建一个命令行(或其他自动)方法,以使用Web-SDK将文件上传到优先级。我目前拥有的最好的解决方案似乎是由python脚本激活的简单网络表单。

有没有在不打开浏览器的情况下使用Javascript和文件选择器的工具/示例?是否有通往其他环境的Priority-Web-SDK端口? C#,Python等?

也欢迎其他任何建议。

2 个答案:

答案 0 :(得分:0)

您在本地运行节点并使用优先级SDK。

*只要您在能够渲染JS的环境中工作即可。 您可以通过功能uploadFile发送文件。 文件对象中的数据需要写入为64个基本文件

答案 1 :(得分:0)

此nodejs脚本会将文件上传到Priority。确保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');