如果我有完整路径,如何使用 Filesystem.readFile
How to use Filesystem.readFile if I have a full path
在 Capacitor/Ionic/Angular 应用程序中,我试图让用户拍摄视频,在 <video>
标签中查看,我还需要能够将视频数据发送到POST 用户提交时请求。
我正在使用 Cordova 的 MediaCapture 插件获取视频,所以我返回的内容包含 fullPath
形式 file://
...
我坚持的一点实际上是从完整路径中获取一个 File/Blob 对象。
我尝试使用 Capacitor Plugins 中的 Filesystem.readFile()
,但问题是它需要 path: string
和 directory: FilesystemDirectory
。如果我尝试只提供 {path: fullPath}
,我会收到 "File does not exist" 错误。 FilesystemDirectory 只是给了我几个可供选择的选项,但我不想使用它,因为我已经有了完整的路径,也不想去检查我应该在哪个设备上使用哪个目录。
还有其他方法可以解决这个问题吗?
使用 Capacitor.convertFileSrc('file:///path/to/video.mp4');
,然后您将拥有 webview 理解的路径,您可以使用 fetch/xhr 到该路径以获得 Blob
。 (请注意,在 iOS 上,如果 运行 处于实时重新加载模式,它将无法工作,因为 iOS 阻止从 http 方案(由实时重新加载服务器使用)到电容器方案(常规电容器方案)的请求通常 运行 时)
在 Capacitor/Ionic/Angular 应用程序中,我试图让用户拍摄视频,在 <video>
标签中查看,我还需要能够将视频数据发送到POST 用户提交时请求。
我正在使用 Cordova 的 MediaCapture 插件获取视频,所以我返回的内容包含 fullPath
形式 file://
...
我坚持的一点实际上是从完整路径中获取一个 File/Blob 对象。
我尝试使用 Capacitor Plugins 中的 Filesystem.readFile()
,但问题是它需要 path: string
和 directory: FilesystemDirectory
。如果我尝试只提供 {path: fullPath}
,我会收到 "File does not exist" 错误。 FilesystemDirectory 只是给了我几个可供选择的选项,但我不想使用它,因为我已经有了完整的路径,也不想去检查我应该在哪个设备上使用哪个目录。
还有其他方法可以解决这个问题吗?
使用 Capacitor.convertFileSrc('file:///path/to/video.mp4');
,然后您将拥有 webview 理解的路径,您可以使用 fetch/xhr 到该路径以获得 Blob
。 (请注意,在 iOS 上,如果 运行 处于实时重新加载模式,它将无法工作,因为 iOS 阻止从 http 方案(由实时重新加载服务器使用)到电容器方案(常规电容器方案)的请求通常 运行 时)