问题标签 [fileprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
395 浏览

android - 在 OS 6 及更高版本中无法打开 SD 卡文件

我有一种方法可以从我的应用程序中打开文件,并且此方法在每个操作系统上运行良好以进行内部存储,但是当来自 OS 6 及更高版本的 sdcard 想要打开文件时,我发现了一个错误:

找不到包含 /storage/BE02-07BA/WhatsApp/Media/WallPaper/download (1).jpg 的已配置根目录

我的代码如下:

0 投票
0 回答
71 浏览

java - 无法使用 FileProvider 读取文件

我有多个应用程序可以拍照并将它们存储在外部存储上。

我想将照片连同一些元数据上传到我公司服务器上运行的 Web 应用程序。

我能够使用ContentProvider.

我已经写了一个SyncAdapter通过 HTTP-POST 上传文件,但我被卡住了,因为SyncAdapter我无法获得读取文件的权限。

我的大问题是:我可以使用 aFileProvider来克服这个问题吗?我没有将文件存储在ContentProvider使用意图中。

我试图在 URL 上设置权限,它失败了。

我绝望了,我试图导出FileProvider,这是不允许的。

我希望能够在另一个应用程序中打开文件的输入流,而不是存储文件的应用程序,而不必使用 Intent 开始传输。

0 投票
1 回答
708 浏览

android - 拍照后App突然崩溃,旋转屏幕返回Activity

拍照后App突然崩溃,旋转屏幕返回Activity。我正在制作一个需要拍照并将其路线作为字符串存储到数据库中的 Android 应用程序,我按照谷歌官方教程(https://developer.android.com/training/camera/photobasics#kotlin)来做到这一点没有实现我自己的相机应用程序。但是当我执行以下步骤时遇到问题: • 打开包含使用媒体 dispatchTakePictureIntent() 拍摄照片的逻辑的活动 • 以纵向模式启动相机。• 将屏幕旋转至水平/相机至横向模式。• 拍照并点击“确定”按钮。• 应用程序崩溃。

但是,如果在相机打开时不旋转手机,我可以随意使用拍摄照片。

我的代码是这样的:

我的 logcat 给了我下一个错误:

使用中断点我发现当我在拍照时旋转屏幕时,活动被破坏但是如果我不在那个活动中为什么会发生这种情况,我该如何解决这个问题?

0 投票
1 回答
1289 浏览

android - java.lang.SecurityException:权限拒绝:打开提供程序 com.estrongs.android.pop.app.FileContentProvider

代码打开文件选择器

重现问题的步骤

1)打开画廊选择照片

2) 从幻灯片菜单中选择ES File Explore

3) 现在一些文件 URI 工作并且一些文件崩溃

注意:- FileProvider已经实现

0 投票
1 回答
573 浏览

android - 带有与旧 Android 版本兼容的文件提供程序的清单

为了保持我的应用与Android 8的兼容性,我必须在清单中添加“提供者”标签。这是标签:

我已经实现了一切,一切都在 android 7/8/9 上运行

今天尝试在旧设备(ANDROID 4)上安装 APP,这是一条错误消息:

我知道问题是由于在 Android4 上不存在该库,但我不想让两个版本的 APP 绝对有两个不同的清单文件。

可以有哪些解决方案?您可以手动添加库(andorid4 没有)吗?它与某些东西冲突吗?

否则我不明白输入代码的意义

(Build.VERSION.SDK_INT> = Build.VERSION_CODES.N)

当我决定是使用fileprovider还是旧的intent类型时。

如果我的清单与 Build.VERSION_CODES.N ....之前的版本不兼容,则代码中的条件语句没有意义。

我该怎么解决?

0 投票
1 回答
32 浏览

java - 使用 FileProvider 处理 XML 文件的数据

我想使用我正在开发XML的应用程序读取存储在下载中的文件。Android

我想使用File Provider来搜索它,但是一旦找到它,我想知道该XML文件的真实路径,以便对其进行解析和处理。

我怎样才能做到这一点?我尝试了很多东西,但对我没有任何作用。

0 投票
1 回答
301 浏览

android - 与 FileProvider 共享整个路径是否安全?

我正在开发一个库,我在其中实现了来自 Android 支持的 FileProvider,并希望让开发人员能够轻松地共享来自任何external-pathexternal-cache-pathcache-path. 如果我自己提供路径,问题是,如果我像这样声明对每个路径的根目录的共享访问权限,我是否会产生任何安全问题:

我仍然需要打电话getUriForFile(..)来获取实际的 URI 吗?是否有人可以从原始内容 uri 中的该路径猜测文件名然后访问它,或者getUriForFile为授予对该特定文件的访问权限做一些特殊的事情?

0 投票
0 回答
276 浏览

ios - FileProvider WebDav HTTP 加载失败

我正在使用https://github.com/amosavian/FileProvider访问我的 WebDav 服务器,将一些日志加载到它上面。

一段时间以来它工作得很好,但现在每次我使用 copyItem 时,我都会遇到 HTTP 加载失败。

这是相关代码:

这是运行时引发的错误:

任何想法,可能是什么问题?由于该应用程序突然停止工作,我认为这一定是我的 iPad 上的 iOS 更新。

我已经通过 git pull 更新了我的 XCode 和 FileProvider,但没有任何变化。

提前致谢!

0 投票
1 回答
448 浏览

ios - FileProvider:“CopyItem()”被调用了两次 -> 错误(FTP 下载)

我的应用程序(Swift 5、Xcode 10、iOS 12)的第一个视图有一个 "username"TextField和一个 "login" Button。单击该按钮会检查我的 FTP 服务器上是否有输入用户名的文件,并将其下载到Documents设备上的文件夹中。为此,我使用FileProvider

我的代码:

我正在检查设备上是否已经存在该文件,因为FileProvider似乎没有提供copyItem下载功能,也可以让您覆盖本地文件。

问题是copyItem尝试做所有事情两次:第一次下载文件成功(它实际上存在于Documents,我检查过),因为如果文件已经存在,我手动删除它。第二次尝试失败,因为该文件已经存在并且此copyItem函数不知道如何覆盖,当然也不会调用我的代码再次删除原始文件。

我能做些什么来解决这个问题?

编辑/更新:

我在我的 ftp 服务器的根目录中创建了一个简单的“sample.txt”(里面的文本:“来自 sample.txt 的 Hello world!”),然后尝试读取该文件以便以后自己保存。为此,我在这里使用“Sample-iOS.swift”文件中的代码

但它也这样做了两次!“sample.txt”文件的输出是:

为什么它也调用了两次?我只调用我的函数一次,“开始下载”也只打印一次。

编辑/更新 2:

我做了更多调查,发现contents函数中调用了两次:

  • 这是整个self.ftpDownload部分!
  • 在 FTPHelper.ftpLogin 中,整个self.ftpRetrieve部分被调用了两次。
  • 在 FTPHelper.ftpRetrieve 中,整个self.attributesOfItem 部分被调用了两次。
  • 大概是这样……

ftpProvider?.copyItem使用相同的ftpDownload函数,所以至少我知道为什么两者都会contents()受到copyItem()影响。

但同样的问题仍然存在:为什么它两次调用这些函数,我该如何解决这个问题?

0 投票
0 回答
1241 浏览

.net-core - 如何为 .NET Core 中托管的 Blazor 应用设置路径

我正在尝试Blazor通过 .I 托管应用程序.NET Core Web Server。我正在使用FileProvider.I 不知道为什么我不断收到此错误:

blazor.webassembly.js:1 WASM:wasm 流式编译失败:TypeError:无法在“WebAssembly”上执行“编译”:HTTP 状态代码不正确 WASM:回退到 ArrayBuffer 实例化无法加载资源:服务器响应404 状态(未找到) blazor.webassembly.js:1 WASM:wasm 的异步和同步获取均失败 blazor.webassembly.js:1 WASM:wasm 的异步和同步获取均失败 d.printErr @ blazor.webassembly .js:1 blazor.webassembly.js:1 WASM:无法异步准备 wasm:abort(“wasm 的异步和同步获取均失败”)。使用 -s ASSERTIONS=1 构建以获取更多信息。d.printErr @ blazor.webassembly.js:1 blazor.webassembly.js:1 WASM: abort(“wasm 的异步和同步获取均失败”)。使用 -s ASSERTIONS=1 构建以获取更多信息。blazor.webassembly.js:1 WASM:中止(“wasm 的异步和同步获取均失败”)。使用 -s ASSERTIONS=1 构建以获取更多信息。d.printErr @ blazor.webassembly.js:1 localhost/:1 Uncaught (in promise) abort("abort(\"wasm 的异步和同步获取均失败\")。使用 -s ASSERTIONS=1 构建以获取更多信息。”)。使用 -s ASSERTIONS=1 构建以获取更多信息。:5000/favicon.ico:1 加载资源失败:服务器响应状态为 404(未找到)使用 -s ASSERTIONS=1 构建以获取更多信息。:5000/favicon.ico:1 加载资源失败:服务器响应状态为 404(未找到)使用 -s ASSERTIONS=1 构建以获取更多信息。:5000/favicon.ico:1 加载资源失败:服务器响应状态为 404(未找到)

.NET Core 主机启动

html 根

文件夹结构 我已经将我的文件提供者的根设置为,dist但是.NET Dll's在那个文件夹之外。我的根可能是错误的吗?我不明白出了什么问题,因为唯一的错误似乎是在blazor.webassembly.js,ascript添加在index.html.

我不知道在哪里运行dotnet [what dll name].dll?我需要发布Client项目并在其中运行dotnet Client.dll还是需要发布Client Serverand Shared。到目前为止,我已经尝试过dotnet [client name of dll].dll甚至 `dotnet run (在 csproj 位置)