2016-11-25 96 views
-2

我是离子应用程序开发的新手。离线下载和存储视频离子应用程序

我有,我需要下载视频从我的应用程序和他们商店内的应用,使视频不是从文件夹访问的需求,但可以只能从App观看。

示例:离线存储的工作方式可用于下载/存储和查看视频。

对此方向的任何帮助表示赞赏。

谢谢。 :)

回答

0

我已经在Xamarin中实现了这一点。您必须在应用程序路径/配置下的应用程序特殊文件夹中创建您的文件。用户无法查看该文件。创建文件后,您必须按字节下载视频字节并写入您的文件。下面是我用来创建文件并下载并读入xamarin中的文件的代码。

var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData); 
var filename = Path.Combine(path, ad.adid + ".mp4"); 
System.Uri url = new System.Uri(ad.video_url); 
const int BUFFER_SIZE = 16 * 1024; 

using (var outputFileStream = File.Create(filename)) 
{ 


    try 
    { 
     var req = WebRequest.Create(url); 
     using (var response = req.GetResponse()) 
     { 

     using (var responseStream = response.GetResponseStream()) 
      { 
       var buffer = new byte[BUFFER_SIZE]; 
       int bytesRead = -1; 
       do 
       { 

       bytesRead = responseStream.Read(buffer, 0, BUFFER_SIZE); 
       outputFileStream.Write(buffer, 0, bytesRead); 


       } while (bytesRead > 0); 



       catch (Exception e) 
       { 
         File.Delete(filename); 
         StopSelf(); 
         return; 
       } 
      } 
     } 
    } 
    catch (Exception e) 
    { 
     File.Delete(filename); 
     StopSelf(); 
     return; 
    } 
} 

}

P.S:正如我所提到这是xmarin升C代码。这不会在Android上工作,但想法保持不变。您可以轻松地将此代码转换为Java。