Tenho um Portal Publico, que salva um PDF (Web Service) via Upload no Fluig.
Eu salvo o PDF na base64 enviando pelo Attachments, ele informa que salvou, o documento está lá na pasta, porém quando clico para Visualizar ou fazer o Download, ele informa que o Arquivo está corrompido.
Javascript
const input = $('#arquivo');
const file = input[0].files[0];
console.log(file);
var fileSize = file.size;
var fileName = file.name;
console.log('Nome Arquivo: ' + fileName + ' | Tamanho Arquivo: ' + fileSize);
var reader = new FileReader();
reader.onload = function() {
var dataUrl = reader.result;
// Enviando informaçoes
console.log('Carregando XML do Documento');
var xml_doc = null;
$.ajax({
url : '/teste/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_chave.find("documentDescription").text( $('#nome').val() + '.pdf' );
xml_doc.find("Attachments item:eq(0) attach").text( false );
xml_doc.find("Attachments item:eq(0) fileName").text( $('#nome').val() + '.pdf' );
xml_doc.find("Attachments item:eq(0) principal").text( true );
xml_doc.find("Attachments item:eq(0) filecontent").text( dataUrl );
console.log("Dados do XML Documento");
console.log(xml_doc[0]);
// 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);
console.log('Empresa: ' + $(data).find("result item item:eq(0)").text());
console.log('Descriçao: ' + $(data).find("result item item:eq(1)").text());
console.log('Documento Id: ' + $(data).find("result item item:eq(2)").text());
console.log('Versao: ' + $(data).find("result item item:eq(3)").text());
console.log('Mensagem: ' + $(data).find("result item item:eq(4)").text());
},
error : function(request, status, error) {
console.log("Request");
console.log(request);
console.log("Status");
console.log(status);
console.log("Erro");
console.log(error);
}
});
};
XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dm.ecm.technology.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<ws:createSimpleDocument>
<username>USUARIO</username>
<password>SENHA</password>
<companyId></companyId>
<parentDocumentId>NUMERO_PASTA</parentDocumentId>
<publisherId>USUARIO</publisherId>
<documentDescription>Documento publicado via webservice</documentDescription>
<Attachments>
<item>
<attach></attach>
<fileName></fileName>
<principal></principal>
<fileSelected/>
<filecontent></filecontent>
</item>
</Attachments>
</ws:createSimpleDocument>
</soapenv:Body>
</soapenv:Envelope>
Estou enviando o arquivo em base64 pelo FileContent, quando coloco um IFrame ele exibe o PDF normalmente, mas quando envia para o GED do Fluig, chega corrompido. Se alguém souber como me ajudar a resolver esse problema, agradeço.