Seguinte, tenho uma demanda aqui de enviar um anexo junto a criação de um processo vindo de uma página pública. O processo eu já consigo criar porém como que faço para enviar o documento que o usuário anexou junto com o processo?
Seguinte, tenho uma demanda aqui de enviar um anexo junto a criação de um processo vindo de uma página pública. O processo eu já consigo criar porém como que faço para enviar o documento que o usuário anexou junto com o processo?
Olá, Rubens,
Tive a mesma necessidade e consegui solucionar utilizando os métodos abaixo.
Criei um código onde o anexo será capturado e mantido no cache do navegador, após isso, uma função pega esse anexo e envio via email. Enviarei prints de como foi feito em anexo. Você pode ver mais sobre no site https://www.smtpjs.com/. A função que você verá no anexo uploadFileToServer é chamada ao clicar em un botão e o anexo é capturado via um input type="file".
Consegui enviar um documento via Web Service em Portal Publico com o seguinte código. Ele salva o documento numa pasta pré-definida no Fluig.
const input = $('#arquivoNota');
const file = input[0].files[0];
var fileSize = file.size; // => Value in bytes
var fileName = file.name; // Nome do Arquivo
var reader = new FileReader();
reader.readAsBinaryString(file);
reader.onload = function() {
var dataUrl = btoa(reader.result);
console.log('Carregando XML do Documento');
var xml_doc = null;
$.ajax({
url : '/agendamento_carga/resources/js/xmls/ECMDocumentService_createSimpleDocument.xml',
async : false,
type : "GET",
datatype : "xml",
success : function(xml) {
xml_doc = $(xml)
}
});
console.log('Montando Dados dos Documentos');
xml_doc.find("documentDescription").text( $('#chaveNota').val() );
xml_doc.find("Attachments item:eq(0) attach").text( false );
xml_doc.find("Attachments item:eq(0) fileName").text( $('#chaveNota').val() + '.pdf' );
xml_doc.find("Attachments item:eq(0) principal").text( true );
xml_doc.find("Attachments item:eq(0) fileSize").text( fileSize );
xml_doc.find("Attachments item:eq(0) filecontent").text( dataUrl );
// Iniciando chamada do WebService
WCMAPI.Create({
url : "/webdesk/ECMDocumentService?wsdl",
contentType : "text/xml",
dataType : "xml",
data : xml_doc[0],
success : function(data) {
console.log("Documento Anexado com Sucesso!");
console.log(data);
},
error : function(request, status, error) {
console.log("Request: " + request);
console.log("Status: " + status);
console.log("Erro: " + error);
}
});
};
Consegiu ? estou tentando fazer a mesma coisa
— Ariel 22 de Mar de 2019