2011-07-19 14 views
7

Próba zmiany pliku źródłowego wideo za pomocą createObjectDataURL. Działa dobrze z Firefoksem, ale nie działa w Chrome (wersja 12.0.742.122 m). kod nie rzuca żadnego błędu, ale zwraca wartość undefined dla createObjectDataURL. Wypróbowałem wszystkie możliwości, ale zawsze zwraca niezdefiniowane.createObjectURL powraca niezdefiniowane w Chrome

<!DOCTYPE html> 
<html> 
<head> 
<title>Check CreateObjectURL</title> 
</head> 
<script type="text/javascript" language="javascript"> 

window.URL = window.URL || window.webkitURL; 

function ChangeProperty() 
{ 
     var v = document.getElementById("myvideo"); 
     var file = document.getElementById("fileControl").files[0]; 
     v.setAttribute("src",window.URL.createObjectURL(file)); 
} 
</script> 
<body> 
<div > 
    <video id="myvideo" src="movie.ogg" controls ></video> 
    <input type="file" id="fileControl" /> 
    <button id="btnprops" onClick="ChangeProperty()" >update</button> 
</div> 
</body> 
</html> 

Proszę mi pomóc. Zajmowało to już dużo czasu. Dzięki z góry.

+0

Hey. Miałem ten sam problem, otrzymując błąd: "Nie można załadować zasobu" podczas korzystania z window.URL.createObjectURL, chociaż odkryłem, że lokalny zasób nie zostanie załadowany, jednak jeśli hostujesz tę stronę HTML na Internet, to działałoby sprawnie, bez żadnych kłopotów. –

+0

Zobacz https://stackoverflow.com/questions/24485077/how-to-open-blob-url-on-chrome-ios HTH –

Odpowiedz

4

Miałem ten sam problem, gdy otwierałem stronę jako plik lokalny w Chrome. Musiałem użyć Apache'a i otworzyć go przez localhost.

+0

Musiałem zrobić to samo, ale edytuj mój plik hosts, aby użyć innej nazwy hosta. Dla mnie Chrome nadal nie lubił "localhost". –

2

Wydaje się to być błąd w Chromium, choć status błędu jest dla mnie jasne: http://code.google.com/p/chromium/issues/detail?id=91136

Wysyłasz mój komentarz tam:

I can confirm this issue on Windows Chrome 17.0.932.0 dev-m. An easy way to confirm [the bug] is this page: http://html5-demos.appspot.com/static/a.download.html . It works when used online. After saving to disk, the download fails.

Edit: Wystarczy znaleźć Podobny raport o błędzie (Interfejs API FileReadera nie działa dla zawartości lokalnej): http://code.google.com/p/chromium/issues/detail?id=60889 To jest oznaczone jako won't fix z powodu, który wydaje się mieć zastosowanie do omawianego tu błędu.

+0

Dzięki za link! Wynika z tego, że uniemożliwiły one tworzenie pliku createObjectURL dla plików: zasoby ze względów bezpieczeństwa i zalecają zamiast tego uruchomienie lokalnego serwera HTTP lub użycie pakietu aplikacji Chrome. –

Powiązane problemy