• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

W jaki sposób zrobić progress bar w jquery i podpiąć pod upload plików

Object Storage Arubacloud
0 głosów
841 wizyt
pytanie zadane 16 sierpnia 2015 w HTML i CSS przez jaca121212 Nałogowiec (40,760 p.)
Tak jak w temacie wiem że potrzeba taga progresbar +css ale jak napisać skrypt jak bd wyglądał przykładowy skrypt do tego.

1 odpowiedź

+1 głos
odpowiedź 16 sierpnia 2015 przez Comandeer Guru (601,590 p.)

Problem polega na tym, że lepiej nie robić tego w jQuery, tylko przy użyciu czystego obiektu XMLHttpRequest, który posiada własność progress (a nawet taki event rzuca).

komentarz 17 sierpnia 2015 przez jaca121212 Nałogowiec (40,760 p.)

a pomożesz mi to połączyć z skryptem upload

<form action="upload.php" method="post" enctype="multipart/form-data">
  <p class="nazwa">  Wybierz muzykę do przesłania:</p>
    <input type="file" class="btn_input" name="fileToUpload"/>
	
    <input type="submit" value="Wyślij" class="btn" name="submit"/>
	 </form>

 

komentarz 17 sierpnia 2015 przez Comandeer Guru (601,590 p.)
A masz już jakiś kod JS?
komentarz 17 sierpnia 2015 przez jaca121212 Nałogowiec (40,760 p.)

np  tak jak na stronie co jest tutaj

a przykladowy skrypt

function uploadFiles(url, files) {
  var formData = new FormData();

  for (var i = 0, file; file = files[i]; ++i) {
    formData.append(file.name, file);
  }

  var xhr = new XMLHttpRequest();
  xhr.open('POST', url, true);
  xhr.onload = function(e) { ... };

  xhr.send(formData);  // multipart/form-data
}

document.querySelector('input[type="file"]').addEventListener('change', function(e) {
  uploadFiles('/server', this.files);
}, false);

fragment tego

Uploading a file or blob: xhr.send(Blob)

We can also send File or Blob data using XHR. Keep in mind all Files are Blobs, so either works here.

This example creates a new text file from scratch using the Blob() constructor and uploads that Blob to the server. The code also sets up a handler to inform the user of the upload's progress:

<progress min="0" max="100" value="0">0% complete</progress>
function upload(blobOrFile) {
  var xhr = new XMLHttpRequest();
  xhr.open('POST', '/server', true);
  xhr.onload = function(e) { ... };

  // Listen to the upload progress.
  var progressBar = document.querySelector('progress');
  xhr.upload.onprogress = function(e) {
    if (e.lengthComputable) {
      progressBar.value = (e.loaded / e.total) * 100;
      progressBar.textContent = progressBar.value; // Fallback for unsupported browsers.
    }
  };

  xhr.send(blobOrFile);
}

upload(new Blob(['hello world'], {type: 'text/plain'}));

link do tego fragmentu

http://www.html5rocks.com/en/tutorials/file/xhr2/#toc-send-blob

komentarz 17 sierpnia 2015 przez Comandeer Guru (601,590 p.)
Przeczytać artek umiem… Pytam o to czy już coś próbowałem, bo na razie to wygląda tak, jakbyś mnie prosił o gotowca.
komentarz 17 sierpnia 2015 przez jaca121212 Nałogowiec (40,760 p.)

nie chodzi mi o gotowca bo wtedy nie nauczę się tylko nie wiem po której lini i gdzie wstawić ten kod czy do pliku upload.php czy tam gdzie mam formularz z wysyłaniem pliku a dodam że jak dałem tam gdzie mam formularz to nic nie odpalało(skrypt)przesyłanie nadal było, (za bardzo nie wiem jak to podpiąć pod skrypt tutaj  nie chcę wkejać to samo dwa razy.)

komentarz 17 sierpnia 2015 przez Comandeer Guru (601,590 p.)

Do pliku z formularzem. Powinieneś odpalić to przy zdarzeniu submit

komentarz 17 sierpnia 2015 przez jaca121212 Nałogowiec (40,760 p.)

powiedż mi czy to dobrze robię

<?php 
include_once('gra.php');

?>
<?php
echo'<div id="odtwarzacz">';
echo'<video id="videoarea" controls="false" poster="" url="" autoplay></video>';
function rozszerzenie($plik){
    return pathinfo($plik,  PATHINFO_EXTENSION);
}
$path = "muzyka/"; 
$dir = new DirectoryIterator($path); 
foreach ($dir as $fileinfo) { 

$rozsz = rozszerzenie($fileinfo); 
 
//pobieramy dla przykładu tylko pliki z rozszerzeniem txt 
if($rozsz == "mp3"){ 
 
echo'<ul id="playlist">';

echo "<li><a href=muzyka/$fileinfo>$fileinfo</a>";

echo'<i class="icon-play" onclick="myFunction()"></i>';
echo'<i class="icon-pause off"></i>';

echo "</li>";

echo'</ul>';
 } 
 } 

echo' </div>';

?> 
<script>
$(document).ready(function(){

$("#playlist a").on("click", function() {
  
       var src = $(this).attr('href');
 
        $("#videoarea").attr("src", src);
        $("#videoarea").attr("poster", '');
        $("#videoarea").attr("autoplay", true);
		$("#videoarea").attr("controls", false);
    return false;
});

  
});

 </script>
 <script>
(function(){

    var i = 0,
        $pauseIcon = $('.icon-pause');

    $('a').click(function(){
        
        $pauseIcon.toggleClass("off", i);
        i = i === 1? 0 : 1;
        
    });
    
})();

</script>



<div style=clear:both;></div>
<div id="muzyka_upload">
<form action="upload.php" method="post" enctype="multipart/form-data">
  <p class="nazwa">  Wybierz muzykę do przesłania:</p>
    <input type="file" class="btn_input" name="fileToUpload"/>
	
    <input type="submit" value="Wyślij nam klip muzyczny " class="btn" name="submit"/>
	<progress min="0" max="100" value="0">0% complete</progress>
	  <p class="nazwa">Żeby plik się wyświetlił pod playerem usuń spację, apostrofy, podkreślenia, pauzy itp.</p>
	  <p class="nazwa" style="font-size:25px;">Tak powinien wyglądać plik do przesłania:<br/>nazwamuzyki.mp3<br/> a nie tak:<br /><span style="text-decoration:line-through; font-size:25px;">nazwa-muzyki_.mp3</span></p>
</form>
<script>
function submit(blobOrFile) {
  var xhr = new XMLHttpRequest();
  xhr.open('POST', '/server', true);
  xhr.onload = function(e) { ... };

  // Listen to the upload progress.
  var progressBar = document.querySelector('progress');
  xhr.submit.onprogress = function(e) {
    if (e.lengthComputable) {
      progressBar.value = (e.loaded / e.total) * 100;
      progressBar.textContent = progressBar.value; // Fallback for unsupported browsers.
    }
  };

  xhr.send(blobOrFile);
}

submit(new Blob(['hello world'], {type: 'file'}));
</script>
</div>
</body></html>

 

Podobne pytania

0 głosów
1 odpowiedź 516 wizyt
pytanie zadane 18 września 2015 w JavaScript przez jedrus_91 Użytkownik (760 p.)
0 głosów
1 odpowiedź 230 wizyt
pytanie zadane 12 grudnia 2018 w JavaScript przez Krzysio4224 Obywatel (1,690 p.)
0 głosów
0 odpowiedzi 85 wizyt
pytanie zadane 16 października 2020 w JavaScript przez napoludniestad.pl Użytkownik (960 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...