2016-04-28 128 views
1

我一直在研究,我沒有找到任何有關的。Chrome應用程序/擴展程序下載文件從URL

我需要一個可以在Chrome操作系統上運行的chrome應用程序,能夠下載文件(圖像,mp3,視頻等),然後將內容顯示爲HTML。

我的意思是如果應用程序下載一個視頻,然後播放視頻標籤。相同的圖像...下載並顯示在img標籤上。

謝謝!

+0

那麼是什麼問題?您可以使用[Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)和[Filesystem](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

謝謝!我是這樣做的,但不使用Src上的blob!我使用了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 :)'; 
     }); 
    }); 
    }) 
相關問題