(() => {
let dbidSource = "YOUR SOURCE DBID";
let ridSource = "YOUR SOURCE [Record ID#]";
let fidSource = "YOUR SOURCE FIELD ID";
let dbidTarget = "YOUR TARGET DBID";
let ridTarget = "YOUR TARGET [Record ID#]";
let fidTarget = "YOUR TARGET FIELD ID";
let copyFile = (dbidSource, ridSource, fidSource, dbidTarget, ridTarget, fidTarget) => {
return new Promise(resolve => {
let urlFileName = `${dbidSource}?a=q&query={3.EX.${ridSource}}&clist=${fidSource}&opts=csv`;
fetch(urlFileName, {
method: "GET",
credentials: "include"
}).then(response => {
return response.text();
}).then(response => {
let filename = response.split("\n")[1].trim();
let urlFileSource = `/up/${dbidSource}/a/r${ridSource}/e${fidSource}/v0`;
fetch(urlFileSource, {
method: "GET",
credentials: "include"
}).then(response => {
return response.blob();
}).then(myBlob => {
let myform = new FormData();
myform.set("subact", "save");
myform.set("rid", ridTarget);
myform.append(`_fid_${fidTarget}`, myBlob, filename);
let urlFileTarget = `${dbidTarget}?a=FinishEditRecord`;
fetch(urlFileTarget, {
method: "POST",
body: myform,
credentials: "include"
}).then(response => {
resolve();
});
});
});
});
};
copyFile(dbidSource, ridSource, fidSource, dbidTarget, ridTarget, fidTarget).then(() => {
console.log("all done");
});
})();