【问题标题】:Download file to Android from ashx call从 ashx 调用将文件下载到 Android
【发布时间】:2014-01-18 18:36:14
【问题描述】:

我有一个 Android 网络应用程序。

在那个 aspx 页面上有一个按钮。

它在 Web 方法后面调用我的代码的 Jquery ajax 调用。

此方法查找视频文件的位置。

然后,此文件位置将作为 ashx 调用的 url 的一部分返回。

例如,web 方法找到视频文件并以这种格式返回一个字符串给 ajax 调用:

www.myserver.com?GetThisFile=MyLocationOfNewlyCreatedVideoFile.ashx.

然后在 Ajax 调用的成功事件中我这样做:

event.preventDefault();
window.location = 'http://www.myserver.com?GetThisFile=Mylocationof newlycreatedvideofile.ashx';

如果我通过桌面上的浏览器调用它,它可以工作。 如果我通过 Android 中的网络浏览器执行此操作是行不通的。

Android 设备中有一张 SD 卡。

是否可以使用此方法在 Android 中下载文件?

如果没有,是否可以使用按钮下载文件?例如,我只有一个按钮,指向如下:

    jQuery(function ($) {
        $("#btnDownloadReady").click(function () {
            event.preventDefault();
            window.location = 'http://MyUrl/File.mp4';
        });
    });

但它会尝试播放文件。我只是希望它保存到 SD 卡。 (我知道 mp4 无法在 Android 上播放)。

【问题讨论】:

    标签: android jquery jquery-mobile


    【解决方案1】:

    如果没有服务器端脚本 (Java),这可能是不可能的,因为根据 jQuery 中显示的命令序列,您似乎想在 Android 应用程序中打开文件。桌面浏览器自动知道将文件保存在哪里,因为浏览器被配置为执行此操作。但是,对于 Android,由于您有自己的 Web 视图,因此您需要创建一个 java 程序来保存完整的文件,以便使用 Download Manager for Android 正确保存在目录或音乐目录中。

    【讨论】:

    • 嗨,这告诉我很多,非常有用。但是,下载管理器可以通过 jquery/web 应用程序访问吗?如果不是,是否可以将图像保存为字节流并使用 jquery 将文件另存为 SD?
    • 下载管理器等Android API只能使用Java实现。您可能需要编写 JavaScript 代码以通过 Activity Intent 与 Android 进行通信,其中 Android 下载管理器 API 可以从 Intent 中捕获它。 stackoverflow.com/questions/11287820/…
    猜你喜欢
    • 2012-08-18
    • 1970-01-01
    • 2011-05-26
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 2012-10-07
    相关资源
    最近更新 更多