upload de arquivos no internet explorer

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'
            });            
        }                          
    });        

});
compartilhar
  • Qual erro que está acontecendo?

    Rafael Vanat   19 de Jun de 2019
  • Boa 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
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags upload internerexplorer ou faça a sua própria pergunta.