【问题标题】:jQuery mobile Upload Image later when Internet is goodjQuery mobile稍后在互联网良好时上传图片
【发布时间】:2016-07-17 02:16:34
【问题描述】:

我正在使用 JQuery Mobile 构建一个移动 Web 应用程序。我已经在应用程序中完成了图像上传,我访问手机相机拍照并上传。

我的问题是当我上传图片时,如果我的网络不好,我会丢失正在上传的图片。

代码:

<form id="uploadimage" action="" method="post" enctype="multipart/form-data">
<input type="file" data-clear-btn="false" name="file" id="file" accept="image/*" capture>
<input type="submit" value="Upload" class="submit" />
</form>

问题:

  1. 以后有什么办法可以在网络连接好的时候上传图片吗?

  2. 有没有办法通过创建一个文件夹来保存图像并稍后从它上传?

  3. 如何使用“jQuery mobile”查看网速并提示用户网速低,以便他/她稍后上传!

或者

还有其他办法解决吗?

注意:

  • 我的应用程序是通过“浏览器”访问的,所以我知道我只能访问文件夹。

  • 请不要建议我创建一个 APP,这样我才能实现我的解决方案。因为我已经有一个应用程序来解决这个问题。但是我的用户中很少有人需要 Web 应用程序。

【问题讨论】:

    标签: javascript jquery jquery-mobile mobile


    【解决方案1】:

    这只是一个想法:

    1) 您可以在尝试上传文件时启动超时:

      var uploadTimeout= window.setTimeout( function() {
            alert( "upload is slow" );
            // cancel upload and save in temp folder here
        }, 1000 );
    
       $(document).on( 'load', function() {
            window.clearTimeout( uploadTimeout);
        }, false );
    

    2) 如果崩溃或超时,您可以使用客户端本地存储在客户端存储文件:http://www.w3schools.com/html/html5_webstorage.asp

    3) 当 localStorage 中有一些文件时,重试上传。

    【讨论】:

    • 你认为..我们可以访问临时文件夹中的文件吗?
    • 本地存储可以保存图片吗?我阅读了 html5_webstorage 的链接。但正如您所知,三星或 IOS 中的单个图像大小从 4-5MB 不等,但我的应用程序必须存储更多...但是 HTML5 可以存储 5Mb 但单独数据?
    • 你是对的 Html5 存储限制为每个来源 10MB(在 chrome 中)。您应该在保存之前在客户端压缩图片。在我们的应用程序中,我们在上传之前使用画布。 (类似stackoverflow.com/a/6752580/5703316
    猜你喜欢
    • 2016-12-13
    • 1970-01-01
    • 2023-03-07
    • 2011-12-24
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    相关资源
    最近更新 更多