Phonegap Build:将图像下载到应用程序的文件夹之一

2023-12-07

如果我直接指定路径,我就可以下载图像

文件:///存储/sdcard0/

如何将图像保存到应用程序中的文件夹之一?我试过this设置应用程序路径的方法,但它对我不起作用。

这是我到目前为止所使用的,如果您想将图像保存到 SD 卡,它可以工作:

var fileName = "myImage.png";  
var fileTransfer = new FileTransfer();

var uri = encodeURI("http://my.url.to.image/myImage.png");   

var filePath = "file:///storage/sdcard0/uploads/myImage.png";

fileTransfer.download(
    uri,
    filePath,
    function(entry) {
        alert("download complete: " + entry.fullPath);
        console.log("download complete: " + entry.fullPath);
    },
    function(error) {  
        alert("download error source/target/code:\n" + error.source +" \n||| "+error.target+" \n||| "+error.code);
     console.log("download error source/target/code " + error.source+" / "+error.target+" / "+error.code); 
    }  
); 

如果我使用这个功能:

function getPhoneGapPath() {
    'use strict';
    var path = window.location.pathname;
    var phoneGapPath = path.substring(0, path.lastIndexOf('/') + 1);
    return phoneGapPath;
}

我得到/android_asset/www/。我如何获得应用程序的正确路径?

该应用程序使用 AngularJS,并且没有在 onDeviceReady 中引导(在我之前的开发人员就是这样做的,现在将其更改为类似的内容)this超出了我的范围(尝试过但没有成功))。

另一个我可以参考的问题被问到here.
我也尝试过this, this, this and this但没有一个对我有用。我得到 fullPath 的“”,最近我设法用 .toURL() 打印路径,它是“cdvfile://localhost/persistent”。如果我使用的话,上面的下载代码现在也可以工作

filePath = "cdvfile://localhost/persistent/MyAppID/uploads/myImage.png";

但这会在 /storage/sdcard0 中创建文件夹 /MyAppID/uploads ,这又很糟糕。我的应用程序需要获取图像

<img src="uploads/myImage.png" alt="myimg"/>

另一个有用的链接是here但它对于如何写入您自己的应用程序的预先创建的文件夹没有提供任何帮助。

EDIT:据我所知,您无法在自己的应用程序中编写(只读)。这就是为什么我尝试使用 sdcard 来引用图像

<img src="file:///storage/sdcard0/Android/data/com.app.my/cache/myImage.png" alt="myimg"/>

这有效! :) 不幸的是,这是硬编码的并且不好,因为其他手机可能有不同的持久位置。 如果我尝试

<img src="cdvfile://localhost/persistent/Android/data/com.app.my/cache/myImage.png" alt="myimg"/>

这并不引用图片:/(但它确实将其下载到 storage/sdcard0/Android/data/com.app.my/cache/ 上)


我将使用此处插件文档中定义的文件夹别名(https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md)。特别是 cordova.file.dataDirectory。请注意,据我所知,这不在您原始项目的 www 下,但它似乎是首选存储下载的地方。保存后,您可以将其解析为可用于通过 AJAX 加载的 URL,或者如果您要下载图形,则将其解析为 img 标记。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Phonegap Build:将图像下载到应用程序的文件夹之一 的相关文章

  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • 如何正确释放Android MediaPlayer

    我正在尝试向我的 Android 应用程序添加一个按钮 当点击该按钮时它会播放 MP3 我已经让它工作了 但没有办法释放 mediaPlayer 对象 因此即使在我离开活动后它仍然会继续播放 如果我在react 方法之外初始化MediaPl
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • angularjs:timeout 在 $http POST 请求中不起作用

    我的代码中有以下代码片段 它为请求设置了以毫秒为单位的超时 但即使满足超时 它也不会取消 var httpURL method URLobj method url urlString data data withCredentials tr
  • jquery.find() 可以只选择直接子项吗?

    我应该向 jQuery find 提供什么参数来选择元素子元素而不选择其他元素 我不能用 gt 引导选择器 而用 将选择所有后代 而不仅仅是直接子代 我知道 jQuery children 但这是一个库 因此用户能够提供自己的选择器 并且我
  • 以编程方式将文本颜色设置为主要 Android 文本视图

    如何设置我的文本颜色TextView to android textColorPrimary以编程方式 我已经尝试了下面的代码 但它将 textColorPrimary 和 textColorPrimary Inverse 的文本颜色始终设
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • Android 构建发布失败,原因为:java.lang.ArrayIndexOutOfBoundsException:213(pr​​oguard 问题)

    我的项目使用调试构建变体构建得很好 但使用发布变体 Android Studio 会抛出 引起原因 java lang ArrayIndexOutOfBoundsException 213 可能是什么问题 如果我设置minifyEnable
  • 您使用什么物理 Android 设备进行测试?

    有什么好的推荐用于测试目的的物理 Android 设备吗 我正在苹果阵营寻找像 iPod touch 这样的设备 可以帮助 iOS 开发人员测试他们的东西 我知道有 Nexus One 但那东西相当昂贵 而且我并不真正关心手机的东西 而是可
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • 在 Samsung Galaxy S5 Android 5.0 上使用 MediaPlayer 加载音频流需要超过 10 秒

    由于更新至 Android 5 0 MediaPlayer 在 Samsung Galaxy S5 上无法正常工作 启动音频流后加载时间超过 10 秒 示例代码 MediaPlayer mPlayer new MediaPlayer Str
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • 没有用于警告的设置器/字段 Firebase 数据库检索数据填充列表视图

    我只是想将 Firebase 数据库中的数据填充到我的列表视图中 日志显示正在检索数据 但适配器不会将值设置为列表中单个列表项中的文本 它只说 没有二传手 场地插入值 这让我觉得我的设置器没有正确制作 但 Android Studio 自动
  • Android 后台倒计时器

    我有一个 Android 应用程序 它管理一个倒计时器 类 CountDownTimer 它显示在应用程序屏幕中 以显示到达 00 00 还剩多少时间 我现在的问题是 当我按主页按钮或启动另一个应用程序时 应用程序 计时器不会在后台运行 所
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 使用jquery ajax将javascript对象转为php

    我有一个数组或一个 javascript 对象 我创建如下 arr arr length obj其中 obj 是一个经典的 JSON 字符串 例如 id 1 So arr似乎是一个 JavaScript 对象数组 我可以这样访问它 arr
  • 无法使用自定义适配器理解 NullPointerException

    我正在尝试创建一个列表视图 它作为可以显示 html 内容的 TextView WebView 和其他基本 TextView 我尝试扩展 SimpleAdapter 但我遇到了这个问题 如果有人能指出我正在做的错误 我会很高兴 在onCre
  • 从BackgroundWorker内的剪贴板获取数据

    我有一个后台工作者 在 DoWork 方法中我有以下内容 var clipboardData Application Current Dispatcher Invoke new Action gt Clipboard GetData Dat
  • 如何将操作栏选项卡向右对齐?

    我以编程方式添加了操作栏选项卡 我不知道如何将操作栏选项卡向右对齐 ActionBar bar getActionBar bar setNavigationMode ActionBar NAVIGATION MODE TABS instan
  • Google Apps 脚本中的 Cookie 处理 - 如何在标头中发送 Cookie?

    我正在尝试编写一个简单的脚本 从网页中获取文本并处理该字符串 但是 该网站要求我登录 我成功登录该网站 这是我登录的方式 var payload name1 val1 name2 val2 var opt payload payload m
  • 如何格式化 Winform 中 LostFocus 事件的所有文本框值

    我需要在失去焦点事件时向任何相关文本框值中每个数值的千位添加逗号 我创建了以下函数 public static void FormatNumerical this Control control if control is TextBox
  • 递归函数的复杂性 - 时间和空间

    我有兴趣知道如何计算递归函数的时间和空间复杂度 如排列 斐波那契 描述here 一般来说 我们可以在很多地方进行递归 而不仅仅是排列或递归 所以我正在寻找通常遵循的方法来计算时间和空间复杂度 谢谢 看一眼http www cs duke e
  • 带有 if 语句的函数中的全局变量

    好吧 我目前正在做一个用 python 制作二十一点游戏的项目 但遇到了一些麻烦 我的问题之一是我不知道何时将变量定义为全局变量 特别是在带有 if 语句的函数中 如果我在 if 语句之外有一个全局变量 我是否必须声明该变量在 if 语句内
  • 使用“import __main__”是个好习惯吗?

    我正在开发一个相对较大的 Python 应用程序 并且我希望将一些资源保留为可在多个不同模块中访问的全局变量 这些值包括版本号 版本日期 全局配置和一些资源的静态路径 我还包括了一个DEBUG由命令行选项设置的标志 以便我可以在调试模式下运
  • 需要有关流程的帮助

    当我开始像这样的过程时process Runtime getRuntime exec gnome terminal 它启动 shell 执行 我想停止 shell 执行并想从进程重定向 I O 有人能告诉我如何做到这一点吗 我的代码是 pu
  • 从 MFC 应用程序连接到 SQL Server Compact Edition (.sdf)

    我正在 Visual Studio 2008 中构建一个对纹理进行分类的 MFC 应用程序 我需要某种轻量级数据库来保存特征 只是一些双精度和字符串 这些特征可以是 在不同的计算机上携带该应用程序 能够从应用程序对其执行查询 搜索 更新 插
  • Cygwin 看到一个 Windows 看不到的文件——我想从 python 访问这个文件

    我有一个连接到 USB 的设备 它创建一个名为 Tpolling log 的日志文件 我可以通过 Cygwin 看到它 但通过 Windows 看不到它 隐藏文件设置为始终显示 我也无法从 python 访问它 我希望能够在 python
  • 在 GWT Web 应用程序中调用外部应用程序(即 Windows 计算器)

    当用户单击 GWT Web 应用程序中的按钮时 我尝试调用外部 Windows 应用程序 即 calc exe 有没有办法如何做到这一点 以下是我迄今为止已经尝试过的 1 尝试了 Runtime exec 和 ProcessBuilder
  • 使用 OpenMP 进行缩减:线性合并或日志(线程数)合并

    我有一个关于 OpenMP 缩减的一般性问题 这个问题困扰了我一段时间 我的问题是关于将部分金额合并到归约中 它可以线性地完成 也可以作为线程数的对数完成 假设我想减少一些功能double foo int i 有了 OpenMP 我就可以这
  • 是否可以覆盖表单助手?

    使用文档 我可以为我的字段的布局设置自己的助手 但我也想个性化游戏给出的一些字段 主要原因是 Twitter Bootstrap 2 我需要更改 在 checkbox scala html 中 input field args id nam
  • ReplayKit:从未进入 startRecording() 完成处理程序

    问题描述 尽管显示了 允许在 AppName 中进行屏幕录制 弹出窗口 但永远不会输入 startRecording 完成处理程序 偶尔会出现 允许在 AppName 中进行屏幕录制 弹出窗口 当我删除应用程序 重新启动设备并对项目进行清理
  • Oracle SQL - 回合 - 半场

    Oracle ROUND 函数默认 向上舍入 select 3 674 my number round 3 674 2 round on number from dual union select 3 675 my number round
  • Excel VBA 中 ExportAsFixedFormat 的 PDF 输出大小错误

    我使用 Excel 2010 和 VBA 我有以下代码 mySh PageSetup PaperSize xlPaperLetter mySh ExportAsFixedFormat Type xlTypePDF Filename file
  • 如何修复“ConnectionString 属性尚未初始化”

    当我开始我的应用程序时 我得到 ConnectionString 属性尚未初始化 网页配置
  • Phonegap Build:将图像下载到应用程序的文件夹之一

    如果我直接指定路径 我就可以下载图像 文件 存储 sdcard0 如何将图像保存到应用程序中的文件夹之一 我试过this设置应用程序路径的方法 但它对我不起作用 这是我到目前为止所使用的 如果您想将图像保存到 SD 卡 它可以工作 var