在我的Xamarin应用程序中,我使用服务器上的PDF.js显示带有WebView的PDF文件。我想为我的应用添加下载功能,以允许我的用户下载PDF文档。
我希望有一个下载按钮,按照Chrome下载文件的方式下载文件,包含通知输入和进度以及其他所有内容,以便用户具有与从网上下载文件相同的体验。
我该怎么做?我可以自己下载文件,但用户找不到它。
答案 0 :(得分:3)
byte[] bytes = new byte[0]; //your byte array
using (StreamWriter streamWriter = new StreamWriter(FilePath, true))
{
BinaryWriter binaryWriter = new BinaryWriter(streamWriter.BaseStream);
binaryWriter.Write(bytes);
}
//As my file is in the path as shown below
var AppName = "MyApp";
var RootPath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
var AppPath = System.IO.Path.Combine(RootPath, AppName);
if (!Directory.Exists(AppPath))
Directory.CreateDirectory(AppPath);
var FileName = $@"{mydoc.title}.{mydoc.doc_extension}";
var FilePath = Path.Combine(AppPath, FileName);
//You can give the user the option to open the file as shown below:
var openFile= await DisplayActionSheet("Success", "open", "ok", "You have downloaded this document.");
switch (openFile)
{
case "open":
{
Device.OpenUri(new Uri(FilePath));
break;
}
case "ok":
{
break;
}
}
答案 1 :(得分:0)
这个问题相当广泛,开放性......说,我只会有一个简单的进度对话框,跟踪文件下载的进度,并在完成下载时显示通知,显示用户文件所在的位置实际下载,这样的事情可以帮助你:reference two