android - phonegap文件上传器插件,状态栏中有进度条

问题描述 投票:0回答:3

任何人都知道一个带有状态栏中进度条的phonegap文件上传器插件。我在这里发现了一个https://github.com/phonegap/phonegap-plugins/tree/master/Android/FileUploader,但没有进度条,也许它过时了(2年前)。有人帮吗?

android cordova phonegap-plugins
3个回答
0
投票

好吧,据我所知,这是唯一一个。我只是尝试过它并没有很好地工作。

文件上传但由于某种原因,您首先获得快速增加的进度指示。一旦达到100%,文件实际上开始上传,您仍然需要等待很多时间而没有任何进展指示。


0
投票

对于答案来说可能为时已晚,但是通过附加到插件对话框的插件文件,您将能够显示本机进度。代码示例如下。

干杯

function onSuccess(r) {
    navigator.notification.progressStop();
    console.log('success');
}

function onError(error) {
    navigator.notification.progressStop();      
}

var upload = function (imageURI) {
  navigator.notification.progressStart('', 'Uploading image...');
  var fileURL = imageURI;
  var uri = encodeURI(server + "uploadPacientes.php");
  var codigo = Math.floor(Math.random() * 655365456342524252);
  var paciente = document.getElementById('paciente_nome');
  var options = new FileUploadOptions();
  options.fileKey = "file";
  options.fileName = paciente + codigo + ".jpg"; 
  options.mimeType = "image/jpg";
  var headers = {
    'headerParam': 'headerValue'
  }
  options.headers = headers;
  var ft = new FileTransfer();

  ft.onprogress = function (progressEvent) {
    if (progressEvent.lengthComputable) {
        var percentual = Math.floor(progressEvent.loaded / progressEvent.total * 
  100);
        navigator.notification.progressValue(percentual);

    } else {
        navigator.notification.progressValue('0');
    }
  }
  ft.upload(fileURL, uri, onSuccess, onError, options);
}

0
投票

我回复很晚,但希望将来有人帮忙!干杯

 function salvarARQUIVOS(superFILE) {
    var tipoArquivo = $( "input[name=tipoArquivo]:checked" ).val();
    var dataArquivo = $('#dataArquivo').val();
    var arquivoFile = superFILE;
    $('#btnARQUIVO').html('ENVIANDO');

if (dataArquivo === "") {
    $('#btnARQUIVO').html('SALVAR');
    aviso('Informe a data do arquivo');
    return true;
}

var extensao = arquivoFile.substr(arquivoFile.lastIndexOf('.') + 1);
if (extensao != "pdf") {
    aviso('Somente arquivos em pdf');
    return true;
}
myApp.showIndicator();
var arq = arquivoFile.substr(arquivoFile.lastIndexOf('/') + 1);
arq = arq.replace(/[\W_]/g, "-");
var uri = encodeURI(serv + "uploadPDF.php");
var nome_arquivo = arq.replace('-pdf', '.pdf');
console.log('nome_arquivo = > ' + nome_arquivo);
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = nome_arquivo;
options.mimeType = "application/pdf";
options.chunkedMode = false;
var headers = {
    'headerParam': 'headerValue'
};
     options.headers = headers;
     var ft = new FileTransfer();
     ft.upload(arquivoFile, uri, onSuccessoArquivo, onErrorArquivo, options);

     function onSuccessoArquivo(r) {
         myApp.hideIndicator();
         linkArquivo = 'arquivosExames/' + nome_arquivo;
         idPaciente = $('#idPaciente').val();
         String = 'idPaciente=' + idPaciente + '&tipoArquivo=' + tipoArquivo + '&dataArquivo=' + dataArquivo + '&linkArquivo=' + linkArquivo;
         console.log(String);
         $.ajax({
           url: serv + "saveServ.php",
           type: "GET",
           data: String,
           dataType: "json",
           cache: false,
           success: function (data) {
              $('#btnARQUIVO').html('SALVAR');
              myApp.hideIndicator();
              changePage('pagelistaarquivos');
              aviso('Enviado');
           }
        });
    }

    function onErrorArquivo(error) {
       myApp.hideIndicator();
       $('#btnARQUIVO').html('SALVAR');
       aviso('Erro ao enviar o arquivo ' + error.code);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.