0

任何人都知道状态栏中带有进度条的 phonegap 文件上传器插件。我在这里找到了一个https://github.com/phonegap/phonegap-plugins/tree/master/Android/FileUploader但没有进度条而且可能已经过时(2 年前)。有人帮忙吗?

4

3 回答 3

0

好吧,据我所知,这是唯一的一个。我刚试了一下,效果不是很好。

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

于 2012-09-10T19:58:40.383 回答
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);
    }
}
于 2019-05-06T09:19:17.013 回答
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);
}
于 2019-02-03T13:38:32.437 回答