javascript - Android 使用 Intent 和带有phonegap的html发布图像

标签 javascript android html cordova android-intent

我如何将图像获取到 html 文件,您还可以在其中编写有关该图像的描述并将其发布到网络服务器?使用此代码从图库中的共享获取操作。在manifest.xml中也得到了 Intent 代码

    Intent intent = getIntent();
    if(intent.getAction().equals(Intent.ACTION_SEND))
    {
        Uri data = intent.getParcelableExtra(Intent.EXTRA_STREAM); 
        if (data != null) {
        data.toString();            
        super.loadUrl("file:///android_asset/www/i2.html#" + data);
        }
    }

加载 url 和数据是图像路径。但 JS 不允许将值放入输入 type="file"所以我需要另一种方法来做到这一点。有什么建议吗?

最佳答案

好的,这里有几个问题。

  1. 您无法预填充输入类型文件的值。为什么?如果有人创建了一个隐藏文件输入,用 ~/mypasswords.txt 预先填充它并在您不知情的情况下上传它怎么办?这是一个明显的安全风险,任何体面的、半途而废的浏览器都不会允许这样做。

  2. 如果 data 是图像的 url,那么在 html 源代码中,您可以编写一些 javascript 来解析文档的 URL,以便获取 url 并创建/设置要显示的 img 元素的 src 属性图像。

  3. 如果您希望将图像上传到(真实)互联网上其他位置的服务器(例如,不是本地 Assets ,而是实时服务器),那么您必须创建一个可点击的输入类型文件并让用户自己选择图像。您是否通过将图像文件保存到易于访问的位置(例如 SD 卡的根目录,甚至图像/图片或下载文件夹)来使用服务,然后指示他们上传正确的图像 - 您有完整路径数据变量,因此只需显示该变量并让用户选择该文件。

  4. 如您所知,您无法通过 AJAX post 进行 AJAX 上传文件,您必须进行真正的 html 表单提交。您可以使用 form.submit() 为您的图像元素使这个更清晰(对于您的用户),但代码复杂性似乎超过了有用的,因为您(似乎)只有 1 个要上传的图像。

    <

关于javascript - Android 使用 Intent 和带有phonegap的html发布图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163141/

相关文章:

android - 为什么保存已加载的位图会增加其大小?

java - 将用户 API 与 Google Cloud Endpoint 结合使用

javascript - jQuery 面板 slider 通过单击按钮打开但不会关闭

javascript - 从组合框和文本输入字段将值分配给另一个组合框

javascript - 表单不发送更新的输入值

javascript - 相同的域,但仍然得到 "Permission denied to access property ' 文档'”

javascript - 设置定价表相同高度 zurb 基础

android - 我不能在 onMessageReceived 中使用 AlertDialog

html - 在标题中输入右拉按钮

javascript - Marionette:检查布局是否有另一个对象的实例