Boa tarde pessoal. Criei um campo do tipo "file" no meu form para realizar upload para o diretório de upload do usuário no momento em que ele selecionar o arquivo. No chrome funcionou normalmente, mas no IE não está funcionando. Parece que ele não reconhece o tipo formData. É o IE 11. Tentei utilizar o uploadFileForIE do style guide mas acho que não estou usando corretamente, pois também não funcionou. Alguém teria um exemplo de upload no IE ou da utilização do uploadFileForIE? Obrigado.
Esse é o código que utilizo e funciona no chrome:
$(document).on("change", "#upload_file", function(e){
//arquivo não informado
if ($(this).val() == "" ||
$(this).val() == null)
return;
//input onde é gravado o nome do arquivo
var input = "#" + $(this).data("input-name");
//arquivo selecionado
var file = $(this).get(0).files[0];
//arquivo em bytes
var formData = new FormData();
formData.append('file', file);
alert(file.name);
//tela de loading
var myLoading = FLUIGC.loading(window, {
textMessage: '<h4>Aguarde, realizando upload</h4>'
});
myLoading.show();
//enviar o arquivo selecionado para o diretório de upload do usuário logado
$.ajax({
url: '/api/public/2.0/contentfiles/upload/?fileName=' + file.name,
type: 'POST',
data: formData,
cache: false,
contentType: 'application/octet-stream',
processData: false,
success: function(data) {
//seta nome do arquivo em um input text para correta visualizacao no dataset do form
$(input).val(file.name);
//funcao que controle o checked que indica se o arquivo foi selecionado
checkDocumento(file.name, $(input).data("checkbox-name"));
myLoading.hide();
},
error: function(xhr, status, error) {
//erro
if (status == "error"){
$(input).val("");
checkDocumento("", $(input).data("checkbox-name"));
}
myLoading.hide();
console.log("STATUS: " + status);
console.log("ERROR: " + error);
console.log(xhr);
var err = eval("(" + xhr.responseText + ")");
//exibe erro no form
FLUIGC.toast({
title: '<strong>Erro ao realizar upload do arquivo selecionado. </strong>',
message: err.message.message + " " + error,
type: 'danger'
});
}
});
});
Qual erro que está acontecendo?
— Rafael Vanat 19 de Jun de 2019Boa noite. O erro era este: Failed to parse request.: java.lang.IllegalArgumentException: RESTEASY003340: Failure parsing MediaType string: application/octet-stream, multipart/form-data; boundary=---------------------------7e31c81312038c
— Marcos 26 de Jun de 2019