2016-04-28 3 views
1

Я занимаюсь исследованиями, и я ничего не нашел об этом.Chrome APP/Extension скачать файл с URL

Мне нужно, чтобы приложение Chrome, которое будет работать на Chrome OS, сможет загрузить файл (изображение, mp3, видео и т. Д.), А затем отобразить содержимое как HTML.

Я имею в виду, если приложение загружает видео, а затем воспроизводит его по тегу видео. То же самое для изображения ... загружайте его и покажите на img-теге.

Спасибо!

+0

Так что это проблема? Вы можете использовать [Fetch] (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) и [Файловая система] (http://www.html5rocks.com/en/tutorials/ файл/файловая система /), если вы не знаете. –

+0

У вас очень запутанный заголовок, который не соответствует вопросу. Не могли бы вы это исправить? – Xan

ответ

0

См. Документацию на приложение Chrome на странице Handling external content. Он дает хороший обзор.

Короткая версия:

  1. Объявляет происхождение вы собираетесь получить доступ в манифесте.
  2. Получить ресурс через XHR (или, действительно, Fetch API).
  3. Использовать ответ как blob: (вы можете подключить его к <video src="...">, например).
  4. необязательно, save the resource локально.
+0

Спасибо! Я так делал, но не использовал blob на Src !! Я использовал base64 и некоторые другие вещи. – Parene

1

Я также работал с этим вопросом, здесь рабочий пример сохранения в файловой системе + показывает на экране:

var video = document.getElementById("video"); 

fetch('http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_20mb.mp4') 
    .then(function(response) { 
    return response.blob(); 
    }) 
    .then(function(myBlob) { 
    var objectURL = URL.createObjectURL(myBlob); 
    video.src = objectURL; 

    var config = {type: 'saveFile', suggestedName: chosenEntry.name}; 
    chrome.fileSystem.chooseEntry(config, function(writableEntry) { 
     writeFileEntry(writableEntry, myBlob, function(e) { 
     output.textContent = 'Write complete :)'; 
     }); 
    }); 
    }) 
Смежные вопросы