jQuery mobile稍后在互联网良好时上传图片

Posted

技术标签:

【中文标题】jQuery mobile稍后在互联网良好时上传图片【英文标题】:jQuery mobile Upload Image later when Internet is good 【发布时间】: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>

问题:

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

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

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

或者

还有其他办法解决吗?

注意:

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

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

【问题讨论】:

【参考方案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 中)。您应该在保存之前在客户端压缩图片。在我们的应用程序中,我们在上传之前使用画布。 (类似***.com/a/6752580/5703316)

以上是关于jQuery mobile稍后在互联网良好时上传图片的主要内容,如果未能解决你的问题,请参考以下文章

jquery mobile 与 phonegap 404 ajax 错误。但在 Firefox、IE 中运行良好

Jquery mobile 阻止从我的基于 django 的站点下载

jQuery mobile 100% 高度页面,等于可见区域

Mobiscroll datepicker 被 jQuery Mobile 模态隐藏

点击事件上的 jQuery Mobile listview 小部件不会为 Mobile 触发

修改 jQuery Mobile (jqm) 文件上传按钮