我正在开发一个收集比赛结果的Windows Universal应用程序。它将每个竞争结果保存在应用程序文件夹中的sql-lite数据库中,以便用户可以查看以前的结果。但是,我对保存和打开比赛结果有进一步的要求。
然而,似乎我们在Windows Universal应用程序中受限制,如果我们已经请求该应用程序功能,则在非常特定的情况下将文件保存到非常特定的文件夹。因此,我使用FileOpenPicker和FileSavePicker来保存和读取文件时出现访问被拒绝错误。
我认为我可能需要以不同的方式查看结果的导出和导入,但经过大量搜索后,我无法提出正确的建议解决方案。那么问题是我应该如何处理结果的导入和导出?我应该使用用户的文档文件夹还是他们的OneDrive?我是否需要为我的应用创建一个Web应用程序,以便用户可以将结果存储在云中并从那里下载?
答案 0 :(得分:2)
CSV和HTML都是带有一些编码的文本文件。所以你的问题是关于如何用JS读/写文件 以下是如何使用FileSavePicker创建html页面的示例:
var savePicker = new Windows.Storage.Pickers.FileSavePicker();
savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary;
savePicker.fileTypeChoices.insert("Web page", [".html"]);
savePicker.suggestedFileName = "New page";
savePicker.pickSaveFileAsync().then(function (file)
{
if (file) {
var _WriteThis="<!DOCTYPE html>" + "\r\n";
_WriteThis = _WriteThis + "<html><head><title>Web page title</title>" + "\r\n";
// .....
Windows.Storage.FileIO.writeTextAsync(file, _WriteThis, Windows.Storage.Streams.UnicodeEncoding.utf8);
}
});
此示例不需要任何特殊规则,您可以将文件保存在PC HDD或USD棒上的任何位置,而无需在清单中设置功能(系统文件夹除外)
以csv格式保存的方式相同