【问题标题】:How to access downloads folder in windows phone 8.1windows phone 8.1如何访问下载文件夹
【发布时间】:2014-04-28 11:53:07
【问题描述】:

我想将文件下载到Downloads 文件夹并阅读。它是像照片和视频一样的根文件夹。

但是Windows.Storage.DownloadsFolder 不能用于电话,我在KnownFolders 中看不到它,比如Windows.Storage.KnownFolders.PicturesLibrary;

我也试过C:\Data\Users\Public\Downloads\,它给出了未经授权的结果。

我看到一些应用程序可以访问它,但是如何访问它?

【问题讨论】:

    标签: c# windows-phone-8 windows-phone windows-phone-8.1 win-universal-app


    【解决方案1】:

    您可以使用文件或文件夹选择器。 我不确定您是否希望用户选择一个文件,或者您是否想自己选择一个文件,但我认为实现此目的的最佳方法是使用类似的东西:

    FileOpenPicker openPicker = new FileOpenPicker();
    openPicker.SuggestedStartLocation = PickerLocationId.Downloads;
    StorageFile file = await openPicker.PickSingleFileAsync();
    

    FolderPicker folderPicker = new FolderPicker();
    folderPicker.SuggestedStartLocation = PickerLocationId.Downloads;
    folderPicker.PickFolderAndContinue();
    

    【讨论】:

    • @user3293835 出于安全原因,这是不可能的。
    • @ClausJørgensen-MSFT 但是商店中有应用程序可以访问它。 (例如文件管理器)
    • @user3293835 拿出证据。
    • 请注意,在 Windows Phone 8.1 上会忽略 folderPicker.SuggestedStartLocation
    【解决方案2】:

    要完成上一个答案,可以访问这样的文件夹,但只有在第一次通过 FolderPicker 访问它之后。

    诀窍是使用 StorageApplicationPermissions.FutureAccessList。这是文件浏览器应用程序所做的。它将为您提供一个令牌,您可以将该令牌保存在您的独立存储中,以便您以后可以直接访问“下载”文件夹,这要归功于该令牌。

    查看 StorageApplicationPermissions.mostRecentlyUsedList 的演练:http://msdn.microsoft.com/library/windows/apps/hh972603,但原理与 FutureAccessList 完全相同。

    【讨论】:

    • 优秀的@StratocastFlo 最后你拯救了我的一天。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    相关资源
    最近更新 更多