2016-04-28 135 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 :)'; 
     }); 
    }); 
    })