Я работаю над модулем кандидатов в Zoho recruit API. .Его документация определяет поля XML и типы данных, которые мне нужно отправить в URL. для текстовых полей, работает нормально.Но для вложений написано data type => Upload Text
. Теперь я не понимаю, что означает этот тип данных upload text
Я попытался преобразовать файл в текст, используя следующий код:
$("form").submit((event) => {
event.preventDefault();
var file = $('#fileInp').prop('files')[0];
readFileContent(file).then(content => {
createCandidate(content);
}).catch(error => console.log(error))
});
function readFileContent(file) {
const reader = new FileReader()
return new Promise((resolve, reject) => {
reader.onload = event => resolve(event.target.result)
reader.onerror = error => reject(error)
reader.readAsText(file)
})
}
но это не сработало, тогда я попытался преобразовать файл в формат base64
и отправить данные в API, но это выбрасывает 414.
Согласно документации Я должен отправить запрос, как это https://recruit.zoho.com/recruit/private/xml/Candidates/addRecords?authtoken=AuthToken&scope=recruitapi&duplicateCheck=( 1 OR 2 )&version=4&xmlData=[XML Data]
Вот как я это делаю.(Эта функция вызывается, когда запускается событие отправки формы)
let createCandidate = (data) => {
let xmlString = ''+
'<Candidates>'+
'<row no="1">'+
'<FL val="Source">Zen3 Website</FL>'+
'<FL val="Current Employer">Your Company</FL>'+
'<FL val="First Name">Zain</FL>'+
'<FL val="Last Name">Smith</FL>'+
'<FL val="Email">zain@test.com</FL>'+
'<FL val="Phone">1234567890</FL>'+
'<FL val="Home Phone">0987654321</FL>'+
'<FL val="Other Phone">1212211212</FL>'+
'<FL val="Fax">02927272626</FL>'+
'<FL val="Mobile">292827622</FL>'+
'<FL val="Highest Qualification Held">MCA</FL>'+
'<FL val="Resume">'+data+'</FL>'+ // data accepts the 'File Upload text that is returned by readFileContent()'
'</row>'+
'</Candidates>';
const URL = `https://recruit.zoho.com/recruit/private/xml/Candidates/addRecords?authtoken=${AUTH_TOKEN}&scope=recruitapi&duplicateCheck=2&version=4&xmlData=${xmlString}`;
let proxyUrl = 'https://cors-anywhere.herokuapp.com/';
axios.post(proxyUrl+URL).then( i => console.log(i) ).catch( e => console.log(e) );
}
В общем, я просто хочу узнать значение типа данных Upload Text
, который Zoho ссылается на